有个小问题 麻烦各位了

jinyishancsdn 2003-04-10 04:02:53
我想用一段代码来识别从键盘输入的是字符还是数字,请问怎样识别
...全文
25 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinyishancsdn 2003-04-20
  • 打赏
  • 举报
回复
如果我添45yu4
panjq 2003-04-11
  • 打赏
  • 举报
回复
char s;
int i;
while(1){
scanf("%s",&s);
if(s>='0'&&s<='9')printf("Is number!");
if((s>='a'&&s<='z'||(s>='A'&&s<='Z'))printf("Is character!");
else printf("is not number and is not char")
}
jinyishancsdn 2003-04-11
  • 打赏
  • 举报
回复
不好意思!我没有说清楚, 如果我输入98应该怎样判断输入的是数字还是字符串呢?
bigtea 2003-04-11
  • 打赏
  • 举报
回复
up
ZZH1983 2003-04-11
  • 打赏
  • 举报
回复
//用c
#include <stdio.h>
#include <stdlib.h>
#define isD 0//digit
main(){
int state,i=0,numb;
char c;
char buffer[10];
while((c=getchar())!=EOF){
if(c>='a'&&c<='z'||c>'A'&&c<='Z')
;//是字母
else if(c>='0'&&c<='9')
state=isD;//是数字
else
;//是字符。
buffer[i++]=c;
}
buffer[i]='\0';
if(state==isD)
numb=atoi(buffer);//如果为数字的话numb为所求数字。

return 0;
}

程序没编译过。
w803007 2003-04-11
  • 打赏
  • 举报
回复
关注
Jorbilly 2003-04-11
  • 打赏
  • 举报
回复
主要在于你的需求
kajing 2003-04-11
  • 打赏
  • 举报
回复
那你希望输入98是字符还是数字?
jinyt 2003-04-11
  • 打赏
  • 举报
回复
在设计的时候
你希望98数字还是字符?
pooryaya 2003-04-11
  • 打赏
  • 举报
回复
偶没想到这个问题

想想的确不好判断

如果愿意是输入98为九十八数字

如果愿意是输入98字符号

关注ing……
fiveyes 2003-04-10
  • 打赏
  • 举报
回复
这问题确实有岐义的地方,如果输入123,既可以是一百二十三,也可以是字符串123。

原因就是:数字也属于字符。

如果是想要检测输入的东西能否转化为整数值,可以试着atoi一下,若返回成功的值,则没问题,否则不能转换,则证明输入的是非法数据,可以进行相应的错误处理。

如果不是整数值,可以用atof吧。
pooryaya 2003-04-10
  • 打赏
  • 举报
回复
更正上面程序,不好意思,一时没写对

下面的编译过没错

#include <iostream.h>
void main()
{
char s;
cin>>s;
if (s>='0'&&s<='9')
cout<<"数字"<<endl;
if (s>='a'&&s<='z')
cout<<"字母"<<endl;
}
pooryaya 2003-04-10
  • 打赏
  • 举报
回复
#include <iostream.h>
void main()
{
char s;
cin>>s>>endl;
if (s>='0&&,s<=0')
cout<<"数字"<<endl;
if (s>='a'&&s<='z'0
cout<<"字母"endl;
}
itxaqqg 2003-04-10
  • 打赏
  • 举报
回复
这个问题的提法不准确:1,2……9 这几个也是字符
eric_uugames 2003-04-10
  • 打赏
  • 举报
回复
if(isalpha(c = getch()))
字符;
else if(isdigit(c))
数字;
lyjlee 2003-04-10
  • 打赏
  • 举报
回复
char s;
scanf("%s",&s);
if(s>='0'&&s<='9')printf("Is number!");
if((s>='a'&&s<='z'||(s>='A'&&s<='Z'))printf("Is character!");
diabloqin 2003-04-10
  • 打赏
  • 举报
回复
单个字符??
还是字符串?

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧