鱼C论坛

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

小甲鱼你在哪里,求帮忙

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

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

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

x
<div>#include<stdio.h>

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

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


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

使用道具 举报

发表于 2016-1-17 19:25:18 | 显示全部楼层
scanf("F=%lf\n", &F); 为什么要有F=%lf\n呢 直接用%lf不行吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-17 19:26:03 | 显示全部楼层
scanf("%lf", &F);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

我菜鸟,不知道了
想知道小甲鱼最近在做啥?请访问 -> 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);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-18 14:58:04 | 显示全部楼层
调试一下你就懂了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

这个不影响,因为 F 是 double,所有整个算术表达式都会被强制转换为 double
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

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

代码修改后如下:
#include <stdio.h>

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

        return 0; 
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

谢谢,小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

明白了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

哦,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-19 10:56:24 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

这个并没有错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

哦,知道了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-21 18:01:59 | 显示全部楼层
5/9不就等于0了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-21 22:35:37 | 显示全部楼层
啦啦啦啦啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-22 17:45:06 | 显示全部楼层
来观摩下前辈们
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-23 10:19:18 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 18:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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