小甲鱼你在哪里,求帮忙
<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)
这个代码可以运行,但是输出结果是错误的,为什么啊。。。。。
scanf("F=%lf\n", &F); 为什么要有F=%lf\n呢 直接用%lf不行吗 scanf("%lf", &F); 本帖最后由 ligen超越 于 2016-1-18 14:30 编辑
我菜鸟,不知道了 <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);
}
调试一下你就懂了。。。 人造人 发表于 2016-1-18 14:41
#include
void main()
这个不影响,因为 F 是 double,所有整个算术表达式都会被强制转换为 double 这道题的问题在于 scanf() 函数的使用。
字符串中除了格式化占位符之外,一般不要有其他字符。
另外,变量名不要用单独的大写字母。
代码修改后如下:
#include <stdio.h>
int main()
{
double f, c;
printf("输入一个华氏温度:");
scanf("%lf", &f);
c = (f - 32) * 5 / 9;
printf("摄氏度为:%.2lf\n", c);
return 0;
}
小甲鱼 发表于 2016-1-19 03:55
这道题的问题在于 scanf() 函数的使用。
字符串中除了格式化占位符之外,一般不要有其他字符。
谢谢,小甲鱼 黑龍 发表于 2016-1-17 19:25
scanf("F=%lf\n", &F); 为什么要有F=%lf\n呢 直接用%lf不行吗
明白了,谢谢 小甲鱼 发表于 2016-1-19 03:51
这个不影响,因为 F 是 double,所有整个算术表达式都会被强制转换为 double
哦,谢谢 学习了 人造人 发表于 2016-1-18 14:41
#include
void main()
这个并没有错 黑龍 发表于 2016-1-21 13:08
这个并没有错
哦,知道了,谢谢 5/9不就等于0了吗? 啦啦啦啦啦 来观摩下前辈们 {:10_277:}
页:
[1]