作者waterdisney (飞过鹰族的讪笑)
看板Programming
标题Re: [问题] 如何判别输入资料为非数字?
时间Fri May 11 15:59:14 2007
※ 引述《VENGENE (我不在~)》之铭言:
: 写题目时突然想到如果有眼睛不好的、手滑的
: 键入非数字的资料(+-*/abc之类的)
: 有办法判断吗?怎样程式才不会乱掉?
: 希望有高手指点迷津~ <(_ _)>
: 我是newb...囧rz
比较麻烦 但是还是可以办到,
使用检查ASCII码的方式达成。
一开始让 user 输入字串
接着一个字元一个字元检查是否落在 0-9的 ASCII码范围内即可。
int main(void ){
char s[50];
int i,j,n;
bool isnumber=false;
printf("please input:");
gets(s);
n=strlen(s);
for(i=0;i<n;i++){
j=(int)s[i];
if(j<48||j>57)
isnumber=true;
}
if(isnumber){
printf("输入非数字");
}else{
printf("都是数字");
}
getch();
return 0;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.134.50.38
※ 编辑: waterdisney 来自: 140.134.50.38 (05/11 16:02)
1F:推 VENGENE:感谢各位指导~ <(_ _)> 140.123.222.57 05/11 18:54