怎么判断是不是一个非数字的结果
用while()
如果是数字就继续循环,如果是非数字就退出循环、
不知道这个非数字如何判断,请各位指点,谢谢!
[解决办法]
http://baike.baidu.com/view/1275773.htm
可以利用isdigit()
判断
也可以while(c>'0'&&c<'9')来判断,成立就继续循环
不成立就退出
[解决办法]
不知道下面这样可不可以。在while的条件中判断scanf("%lf", &c)的返回值,
如果正常读到一个float数,则scanf返回1。如果随便输入一个字符,比如e,
则scanf不会返回1,循环终止。楼主试试。
#include <stdio.h>#include <ctype.h>const double C_PER_F = 1.8;const double C_TO_F = 32.0;const double C_PER_K = 273.16;void temp(double c);int main(void){ double c; printf("摄氏度转华氏度、绝对温度程序\n"); printf("请输入一个摄氏度:"); while (scanf("%lf", &c) == 1) { temp(c); } return 0;}void temp(double c){ double k,f; f = C_TO_F + c * C_PER_F; k = c + C_PER_K; printf("%.2f 摄氏度 = %.2f 华氏度(%.2f绝对温度)。\n",c,f,k); printf("您还想转换那个摄氏度呢?\n");}