鱼C论坛

 找回密码
 立即注册
查看: 2273|回复: 17

小甲鱼你在哪里,求帮忙

[复制链接]
发表于 2016-1-17 19:10:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. <div>#include<stdio.h>

  2. void main()
  3. {
  4.         double F, c;
  5.         printf("输入一个华氏温度:");
  6.         scanf("F=%lf\n", &F);
  7.         c = (F - 32) * 5 / 9;
  8.         printf("摄氏度为:%.2lf\n", c);
  9. }
复制代码
输入一个华氏度,要求输出摄氏度。公式为
c=5/9 * (F-32)

这个代码可以运行,但是输出结果是错误的,为什么啊。。。。。


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-1-17 19:25:18 | 显示全部楼层
scanf("F=%lf\n", &F); 为什么要有F=%lf\n呢 直接用%lf不行吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-17 19:26:03 | 显示全部楼层
scanf("%lf", &F);
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-18 14:28:07 | 显示全部楼层
本帖最后由 ligen超越 于 2016-1-18 14:30 编辑

我菜鸟,不知道了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-18 14:41:18 | 显示全部楼层
<div>#include<stdio.h>

void main()
{
        double F, c;
        printf("输入一个华氏温度:");
        scanf("F=%lf\n", &F);
        c = (F - 32) * 5 / 9;  // 5 / 9 ??? 应该是 5.0 / 9.0 吧
        printf("摄氏度为:%.2lf\n", c);
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-18 14:58:04 | 显示全部楼层
调试一下你就懂了。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-19 03:51:12 | 显示全部楼层

这个不影响,因为 F 是 double,所有整个算术表达式都会被强制转换为 double
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-19 03:55:09 | 显示全部楼层
这道题的问题在于 scanf() 函数的使用。

字符串中除了格式化占位符之外,一般不要有其他字符。

另外,变量名不要用单独的大写字母。

代码修改后如下:

  1. #include <stdio.h>

  2. int main()
  3. {
  4.     double f, c;
  5.    
  6.     printf("输入一个华氏温度:");
  7.     scanf("%lf", &f);
  8.    
  9.     c = (f - 32) * 5 / 9;
  10.     printf("摄氏度为:%.2lf\n", c);

  11.         return 0;
  12. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-19 07:59:54 | 显示全部楼层
小甲鱼 发表于 2016-1-19 03:55
这道题的问题在于 scanf() 函数的使用。

字符串中除了格式化占位符之外,一般不要有其他字符。

谢谢,小甲鱼
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-19 08:01:15 | 显示全部楼层
黑龍 发表于 2016-1-17 19:25
scanf("F=%lf\n", &F); 为什么要有F=%lf\n呢 直接用%lf不行吗

明白了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-19 09:33:18 | 显示全部楼层
小甲鱼 发表于 2016-1-19 03:51
这个不影响,因为 F 是 double,所有整个算术表达式都会被强制转换为 double

哦,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-19 10:56:24 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-21 13:08:24 | 显示全部楼层

这个并没有错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-21 15:38:23 | 显示全部楼层

哦,知道了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-21 18:01:59 | 显示全部楼层
5/9不就等于0了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-21 22:35:37 | 显示全部楼层
啦啦啦啦啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-22 17:45:06 | 显示全部楼层
来观摩下前辈们
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-23 10:19:18 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-21 20:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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