前辈们,帮我看看这个程序为什么输出不对吧

痕风雨 2016-07-08 09:11:47
//华氏温度转为摄氏温度和开氏温度
#include<stdio.h>
void Temperatures(double F);
int main(void)
{
double hua;
int a;
printf("请输入华氏温度值(限输入数字,输入非数字停止):");
a=scanf("%f",&hua);

while(a==1)
{
Temperatures(hua);
printf("请输入华氏温度值(限输入数字,输入非数字停止):");
a=scanf("%f",&hua);
}
printf("谢谢使用!\n");

return 0;
}

void Temperatures(double F)
{
const double HUA_SHE=5.0/9.0;
const double SHE_KAI=273.16;
double she,kai;

she=HUA_SHE*(F-32.0);
kai=she+SHE_KAI;

printf("hua=%.2f。F\tshe=%.2f。C\tkai=%.2fK\n",F,she,kai);
}
...全文
106 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
痕风雨 2016-07-08
  • 打赏
  • 举报
回复
引用 4 楼 cyfcsd 的回复:
printf("num_1=%d\tnum_2=%d\tnum_2%%num_1=%d\n\n",num_1,num_2,num_2%num_1);
我似乎找到了问题所在,谢谢前辈们
flying_music 2016-07-08
  • 打赏
  • 举报
回复
兄弟,细心一点儿啊,这明显就是书写错误啊,就下面这句,你自己查一下吧,这种问题要自己解决的,不能所有错误都找别人啊 printf("num_1=%d\tnum_2=%d\tnum_2%num_1=%d\n\n",num_1,num_2,num_2%num_1);
动力风暴 2016-07-08
  • 打赏
  • 举报
回复
两种改法:(1)将 Temperatures入参改为float型; 或(2)输入改为scanf("%lf",&hua);
痕风雨 2016-07-08
  • 打赏
  • 举报
回复
谢谢回答,在做编程练习又遇到了一个问题,能再帮我看看吗?下面这个程序在我的系统上运行出错 #include<stdio.h> int main(void) { int num_1,num_2,a,b; printf("please enter the first number(输入非数字停止):"); a=scanf("%d",&num_1); printf("Please enter the 2th number(输入非数字停止):"); b=scanf("%d",&num_2); while(a==1&&b==1) {printf("num_1=%d\tnum_2=%d\tnum_2%num_1=%d\n\n",num_1,num_2,num_2%num_1); printf("please enter the first number(输入非数字停止):"); a=scanf("%d",&num_1); printf("Please enter the 2th number(输入非数字停止):"); b=scanf("%d",&num_2); } printf("done!\n"); return 0; }
flying_music 2016-07-08
  • 打赏
  • 举报
回复
a=scanf("%f",&hua);改成a=scanf("%lf",&hua);用scanf接收double类型要用lf的

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧