C primer plus 5.8
做C primer plus 课后习题5.8的时候,我编写的程序是这样的,但是运行的时候,输入后按Enter,软件卡住,感觉应该是程序的问题,帮我看一下要怎么改进,谢谢。程序要求,编写一个函数,要求在一个循环内输入华氏温度,换算为摄氏温度、绝对温度,输入数字以外的字符,结束循环,用调用函数的方法计算摄氏温度、绝对温度。
程序代码:#include<stdio.h>
void Temperatures(float n);
int main(void)
{
float Fah;
fflush(stdout);
while(scanf("%f",Fah)!=0)
{
Temperatures(Fah);
fflush(stdout);
}
return 0;
}
void Temperatures(float n)
{
const float a=1.8;
const float y=32.0;
const float z=273.16;
float cel=a*n+y;
float kev=cel+z;
printf("%.2f Fahrenheit is equit to %.2f Celsius,or %.2f kelvin.\n",n,cel,kev);
}





