读书人

如何判断是不是一个非数字的结果

发布时间: 2012-04-07 17:31:52 作者: rapoo

怎么判断是不是一个非数字的结果
用while()
如果是数字就继续循环,如果是非数字就退出循环、

不知道这个非数字如何判断,请各位指点,谢谢!

[解决办法]
http://baike.baidu.com/view/1275773.htm
可以利用isdigit()
判断
也可以while(c>'0'&&c<'9')来判断,成立就继续循环
不成立就退出
[解决办法]
不知道下面这样可不可以。在while的条件中判断scanf("%lf", &c)的返回值,
如果正常读到一个float数,则scanf返回1。如果随便输入一个字符,比如e,
则scanf不会返回1,循环终止。楼主试试。

C/C++ code
#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");} 

读书人网 >C语言

热点推荐