C语言如何判断,输入的是数字。如果不是则输出重新输入的信息。 如不能输入12B. 25L只能输入纯数字
用gets读行,然后对每一个字符分析,如果都是数字,再把字符串转换为数值类型。
代码如下所示:
#include <stdio.h>可以用链表或者字符数组来存储(我以数组为例),然后判断数组中元素是不是数字,
也就是是否介于48~57(ASCII)之间。
举例:
#include <stdio.h>
int main()
{
int i=0;
int flag=0;
char a[100];
while(1)
{
scanf("%s",a);
i=0;
flag=0;
while(a[i])
{
if(a[i]<48 || a[i]>57)//a[i]不是数字时
{
flag=1;//做个标志,表示输入不合法
printf("您的输入不合法!\n");
break;
}
i++;
}
if(!flag)
{
puts(a);
}
}
return 0;
}
本回答被网友采纳