C语言温度转换题
本帖最后由 devil_bruce 于 2021-4-26 16:57 编辑问大佬们一个温度转换题:把华氏温度转换成摄氏温度,自己也尝试写了代码但不清楚哪里出错了{:301_999:},请大佬们解惑{:301_1003:} 不是公式写错了吗?
本帖最后由 25535 于 2021-4-26 17:20 编辑
scanf_s的问题
%4.2f 在输入时不能用格式控制符
----
好家伙刚刚去百度了scanf_s,原来windows独有的;VS只有毕业设计做上位机用过。
还是用我的gcc吧
scanf_s(),第一个参数有误,直接"%f"即可,即scanf("%f",&i);
另外公式写错了,是 i-32 Luckyu920 发表于 2021-4-26 17:12
scanf_s(),第一个参数有误,直接"%f"即可,即scanf("%f",&i);
另外公式写错了,是 i-32
好的,感谢大佬解惑{:1_893:} 你看,你的Scanf写错了。
在看,你的公式变成-32了。 朋友你的公式有问题
朋友你的读入也很奇怪
自认为正确的代码
```c
#include<stdio.h>
int main()
{
double i,j; //当然你也可以使用float类型的
scanf("%lf",&i); //float类型的话读入应该是scanf("%f",&i);
j=5.0*(i-32.0)/9.0;
printf("%4.2lf\n",j); //float类型的输出应该是printf("%4.2f\n",j);
return 0;
}
``` 梨疯 发表于 2021-4-26 17:30
你看,你的Scanf写错了。
在看,你的公式变成-32了。
VS为了防止内存泄漏,必须要scanf_s这样写 不二神话 发表于 2021-4-26 17:41
VS为了防止内存泄漏,必须要scanf_s这样写
好吧,学的时候我用的是傻瓜式的DEVC++。 来自一个无情的压行怪写的代码
```c
#include<stdio.h>
main(){float i;scanf("%f",&i);printf("%.2f",5*(i-32)/9);}
```
页:
[1]