鱼C论坛

 找回密码
 立即注册
查看: 3868|回复: 22

C计算摄氏温度

[复制链接]
发表于 2020-4-20 10:31:19 | 显示全部楼层 |阅读模式
8鱼币
本帖最后由 bkuy 于 2020-4-20 11:14 编辑
  1. #include<stdio.h>

  2. int main()
  3. {
  4.     int F;
  5.     int C;

  6.     scanf("%d", &F);
  7.     C = 5 * ( F - 32 ) / 9;
  8.    
  9.     printf("Celsius = %d\n", C);

  10.     return 0;
  11. }
复制代码




我自己运行的时候,输入150按回车没有反应,再次运行则得出65,请问这是为什么呢?该怎么解决?(这个作业我提交后显示编译错误

题目要求

题目要求

提交之后显示界面

提交之后显示界面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 13:24:46 | 显示全部楼层
本帖最后由 bkuy 于 2020-4-20 13:30 编辑

真抱歉,是减号出了问题,解决了,不好意思不好意思,但是我不知道怎么撤销帖子/。。。
我复制到这里的时候也是那个地方变成奇怪的东西去了,然后重新编辑了那部分,所以才没有发现问题。。。。。

抱歉抱歉 虽然我还是不知道为什么要重新运行才出结果。。

最后感谢大家!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 10:32:50 | 显示全部楼层
本帖最后由 bkuy 于 2020-4-20 10:33 编辑

??我刚发现我复制过来的时候,第9行代码错了,应该是 C = 5 * ( F  - 32 ) / 9;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 10:39:42 | 显示全部楼层
本帖最后由 qiuyouzhi 于 2020-4-20 10:40 编辑
bkuy 发表于 2020-4-20 10:32
??我刚发现我复制过来的时候,第9行代码错了,应该是 C = 5 * ( F  - 32 ) / 9;


你这都出现除法了,还用int存放结果?
改成这样试试:
  1. #include<stdio.h>

  2. int main()
  3. {
  4.     int F;
  5.     float C;

  6.     scanf("%d", &F);
  7.     C = 5 * ( F - 32 ) / 9;
  8.    
  9.     printf("Celsius = %.2f\n", C);

  10.     return 0;
  11. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 10:48:57 | 显示全部楼层
bkuy 发表于 2020-4-20 10:32
??我刚发现我复制过来的时候,第9行代码错了,应该是 C = 5 * ( F  - 32 ) / 9;

出现除法有可能会有小数,所以建议用 double 来定义变量类型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 10:49:02 | 显示全部楼层
qiuyouzhi 发表于 2020-4-20 10:39
你这都出现除法了,还用int存放结果?
改成这样试试:

emmm,题目要求保证输入与输出均在整型范围内,
[而且好像如果参与的算子如果都是整数的话,结果也是整数,就直接截断了小数点后的部分,(我在慕课看到翁恺老师的了解的,但是我是小白,所以可能理解不是很透彻)]
我刚刚试了改成double,但是还是没能解决不能直接打印结果,还是需要重新运行 才能打印结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 10:50:30 | 显示全部楼层
bkuy 发表于 2020-4-20 10:49
emmm,题目要求保证输入与输出均在整型范围内,
[而且好像如果参与的算子如果都是整数的话,结果也是整数 ...

我这里没有出现你的问题,直接输入华氏度就打印结果了
  1. #include<stdio.h>

  2. int main()
  3. {
  4.     int F;
  5.     float C;

  6.     scanf("%d", &F);
  7.     C = 5 * ( F - 32 ) / 9;
  8.    
  9.     printf("Celsius = %d\n", (int)C);

  10.     return 0;
  11. }
复制代码

把输出改成整型了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 10:55:55 | 显示全部楼层
liuzhengyuan 发表于 2020-4-20 10:48
出现除法有可能会有小数,所以建议用 double 来定义变量类型

你好,题目要求输入与输出均为整型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 10:58:16 From FishC Mobile | 显示全部楼层
bkuy 发表于 2020-4-20 10:55
你好,题目要求输入与输出均为整型

那就在最后输出的时候强制类型转换,把它转成整数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 11:01:13 From FishC Mobile | 显示全部楼层
bkuy 发表于 2020-4-20 10:55
你好,题目要求输入与输出均为整型


建议输出整数是四舍五入,这样误差会小一点
四舍五入的话你因该会吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 11:06:27 | 显示全部楼层
qiuyouzhi 发表于 2020-4-20 10:50
我这里没有出现你的问题,直接输入华氏度就打印结果了

把输出改成整型了

我用这个代码以运行了一下,还是需要再次运行才能打印结果;
然后又试了一些别的类似结构的程序,就没这个问题了;
再之后我把你上传的这段代码复制提交之后,还是显示编译错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 11:09:50 | 显示全部楼层
liuzhengyuan 发表于 2020-4-20 11:01
建议输出整数是四舍五入,这样误差会小一点
四舍五入的话你因该会吧

根据给出的示例,当F=150时,C输出为65,因此是小数点后截断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 11:11:08 | 显示全部楼层
bkuy 发表于 2020-4-20 11:09
根据给出的示例,当F=150时,C输出为65,因此是小数点后截断

那就强制类型转换呗
  1. (int)a
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 11:12:16 | 显示全部楼层
bkuy 发表于 2020-4-20 11:06
我用这个代码以运行了一下,还是需要再次运行才能打印结果;
然后又试了一些别的类似结构的程序 ...

我这里Dev-C++没有问题?
可以说下你的编译环境吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 11:13:58 | 显示全部楼层
bkuy 发表于 2020-4-20 11:06
我用这个代码以运行了一下,还是需要再次运行才能打印结果;
然后又试了一些别的类似结构的程序 ...

网站给出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 11:18:27 | 显示全部楼层
qiuyouzhi 发表于 2020-4-20 11:12
我这里Dev-C++没有问题?
可以说下你的编译环境吗

我是按小甲鱼给的教程搭的,VB,Centos6.1,编辑器vim, 编译器gcc
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 11:20:40 | 显示全部楼层
本帖最后由 bkuy 于 2020-4-20 11:23 编辑


链接:https://pintia.cn/
邀请码:a583a5615d228c2c
注册之后→ 我的题目集→ 中M2020春C入门练习第I段——变量、表达式、分支、循环 → 7
*注册时需要在另一个浏览器窗口或标签页里登录中国大学MOOC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 11:26:58 | 显示全部楼层
bkuy 发表于 2020-4-20 11:18
我是按小甲鱼给的教程搭的,VB,Centos6.1,编辑器vim, 编译器gcc

输了邀请码,然后就打不开了……这个怎么办
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 11:27:23 | 显示全部楼层

链接:https://pintia.cn/
需要先系统注册一个账号,注册时需在另一个浏览器窗口或标签页里登录中国大学MOOC,
在个人中心的“应邀做题”那里输入邀请码:a583a5615d228c2c,
点“进入题库”,在“中M2020春C入门练习第I段——变量、表达式、分支、循环” 7
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-20 11:32:30 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-20 11:26
输了邀请码,然后就打不开了……这个怎么办

我不清楚欸...我是不是挖坑了...不好意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 11:33:04 | 显示全部楼层
你的回复全都被审核了……等会吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-6 15:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表