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); }