C语言中怎么让输入的数只能为数字,不能为字母,如果是字母就重新输入!

能不能写个判读的啊

第1个回答  2008-12-24
#include <cstdio>
#include <cstdlib>
void main()
{
char* ch=(char*)malloc(100*sizeof(char));
scanf("%s",ch);
int num;
num=atoi(ch);
if(0==num)
{
if('0'==*ch)
printf("%d\n",num);
else
printf("您输入了非数字");
}
else
{
printf("%d\n",num);
}

}
已进过测试
有几点需注意
1输入数值不能超过100位数值,当然可将程序中的100改为更大值
2若要输入浮点值,可将atoi 改为atof 函数本回答被提问者采纳
第2个回答  2008-12-24
判断asc码48~57为0~9十个阿拉伯数字如果得到的asc码不在48-57就重新输入
第3个回答  2008-12-24
int num;
char temp[256];
while(true){
if(scanf("%d",&num)) break;
else scanf("%s\n",temp);
}
第4个回答  2008-12-24
要判断数字的ascii码。定义成字符型。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网