当前位置: 代码迷 >> C语言 >> [求助]关于输入判断的问题
  详细解决方案

[求助]关于输入判断的问题

热度:151   发布时间:2007-03-12 15:37:41.0
[求助]关于输入判断的问题

如何判断输入的数据是字符还是数字?

如在循环中


int x;

do
{
scanf("%d",&x);


printf("%d",x)

}

while();/*要求在这里判断:如果是非数字就重新输入,该如何写?*/


。。后续语句。。



谢谢



再次谢谢帮解决问题的朋友,问题的结果我贴到这里:

#define LEN 20
#include"stdio.h"
#include <stdlib.h>
main()
{
char x[LEN];
int i,sign,answer;
do
{
i=0,sign=1;
printf("Input:");
scanf("%s",&x);
while(x[i]){if(x[i]<48||x[i]>57) {sign=0;break;}i++;}
if(sign==1) {break; printf("%s\n",x); }
}
while(1);
answer=atoi(x); /*将字符串转换为整型*/
printf("%d",answer);
}

[此贴子已经被作者于2007-3-13 19:00:46编辑过]

搜索更多相关的解决方案: 判断  输入  

----------------解决方案--------------------------------------------------------

数字不是有对应的ASCLL码吗?


----------------解决方案--------------------------------------------------------
以下是引用PcrazyC在2007-3-12 15:48:37的发言:

数字不是有对应的ASCLL码吗?

只有0-9的啊


0-9

48-57

那输入大于一位的如何区分?


----------------解决方案--------------------------------------------------------
我没有想到直接判断的办法但是我想到了其他方法
char a[100];
int b;
while(1)
{
gets(a);//干脆把数字也当作字符
for(i=0;a[i]!='\0',i++)
{
if(('a'<=a[i]&&a[i]<='z')||('A'<=a[i]&&'Z'>=a[i]))//是字母就跳出来
breeak;
}
if(a[i-1]=='\0')//a[i-1]=='\0'说明字符串中没有字母可以跳出
break;
else//否则继续
comtinue;

}
b=atoi(a);在转换成数字
我只是写了思路,上面的程序并不完整,没有经过调试,可能有语法或者逻辑错误

----------------解决方案--------------------------------------------------------
指出一个错误,上面那句
if(a[i-1]=='\0')//a[i-1]=='\0'说明字符串中没有字母可以跳出
应该是:
if(a[i]=='\0')//a[i]=='\0'说明字符串中没有字母可以跳出
还有错误你自己改吧,我上课去也

----------------解决方案--------------------------------------------------------

do
{
scanf("%d",&x);


printf("%d",x)

}while(!(x>='0' && x<='9'))



----------------解决方案--------------------------------------------------------
应该有解决的办法,今天想不出来不吃饭
----------------解决方案--------------------------------------------------------
6楼的好象有点不大对,


----------------解决方案--------------------------------------------------------
唉,难道我连这饭都无福消受,当先输入数字再输入其它的时候,返回的时候他会将前面的数字返回,这种情况好像没法解决,楼主,看样子,你又害我了.
----------------解决方案--------------------------------------------------------
怎么样才能得到输入屏幕上的字符串,有谁知道吗?救命啊

[此贴子已经被作者于2007-3-12 17:49:56编辑过]



----------------解决方案--------------------------------------------------------
  相关解决方案