c++中如何判断输入的数时字符还是数字?请举例谢谢!
2个回答
展开全部
通过字符的字母和数字的ASCII递增的特点来判断。
例如:
//参考代码如下:
#include "iostream"
#include "stdio.h"
#include <string.h>
using namespace std;
int main()
{
char ch;
cin>>ch;
if(ch>='0'&&ch<='9')
cout<<"该字符为数字"<<endl;
else if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) //字符区分大小写
cout<<"该字符为字母"<<endl;
return 0;
}
/*
运行结果:
1
该字符为数字
g
该字符为字母
E
该字符为字母
*/
例如:
//参考代码如下:
#include "iostream"
#include "stdio.h"
#include <string.h>
using namespace std;
int main()
{
char ch;
cin>>ch;
if(ch>='0'&&ch<='9')
cout<<"该字符为数字"<<endl;
else if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) //字符区分大小写
cout<<"该字符为字母"<<endl;
return 0;
}
/*
运行结果:
1
该字符为数字
g
该字符为字母
E
该字符为字母
*/
更多追问追答
追问
这个我看到过,但我是想判断是不是字符,不是字母
追答
你这个问题不合适,应该在计算机中,只要你输入的不管是字母还是数字都是字符,只是它们站的空间不一样
展开全部
按字符或字符串读入,然后按字符AscII码判断
例如:
char st[21];
int i,b;
scanf("%s",st);
i=0;
b=1;
while(st[i]!='\0'){
if((st[i]<'0' || st[i]>'9')&&(st[i]!='.')){
b=0;
break;
}
++i;
}
if(b==0)
printf("不是数字\n");
else
printf("是一个数字\n");
例如:
char st[21];
int i,b;
scanf("%s",st);
i=0;
b=1;
while(st[i]!='\0'){
if((st[i]<'0' || st[i]>'9')&&(st[i]!='.')){
b=0;
break;
}
++i;
}
if(b==0)
printf("不是数字\n");
else
printf("是一个数字\n");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询