| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2167 人关注过本帖
标题:[求助]关于输入判断的问题
只看楼主 加入收藏
冰天雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:331
专家分:0
注 册:2007-2-27
收藏
 问题点数:0 回复次数:45 
[求助]关于输入判断的问题

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

如在循环中


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编辑过]

搜索更多相关主题的帖子: 判断 输入 
2007-03-12 15:37
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

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


雁无留踪之意,水无取影之心
2007-03-12 15:48
冰天雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:331
专家分:0
注 册:2007-2-27
收藏
得分:0 
以下是引用PcrazyC在2007-3-12 15:48:37的发言:

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

只有0-9的啊


0-9

48-57

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

2007-03-12 15:50
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
我没有想到直接判断的办法但是我想到了其他方法
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);在转换成数字
我只是写了思路,上面的程序并不完整,没有经过调试,可能有语法或者逻辑错误

2007-03-12 16:38
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
指出一个错误,上面那句
if(a[i-1]=='\0')//a[i-1]=='\0'说明字符串中没有字母可以跳出
应该是:
if(a[i]=='\0')//a[i]=='\0'说明字符串中没有字母可以跳出
还有错误你自己改吧,我上课去也

2007-03-12 16:59
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

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


printf("%d",x)

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



wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-12 17:03
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
应该有解决的办法,今天想不出来不吃饭

雁无留踪之意,水无取影之心
2007-03-12 17:20
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
6楼的好象有点不大对,


2007-03-12 17:37
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
唉,难道我连这饭都无福消受,当先输入数字再输入其它的时候,返回的时候他会将前面的数字返回,这种情况好像没法解决,楼主,看样子,你又害我了.

雁无留踪之意,水无取影之心
2007-03-12 17:41
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
怎么样才能得到输入屏幕上的字符串,有谁知道吗?救命啊

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



雁无留踪之意,水无取影之心
2007-03-12 17:49
快速回复:[求助]关于输入判断的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016467 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved