请大家进来看看,C的有关问题(在线等)

KingI 2003-08-19 09:34:42
请问怎样区分数字和字母?就是一个只能输入数字不能输入字母,若输入字母则提示错误的功能怎样实现?
...全文
52 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
XBug 2003-08-19
  • 打赏
  • 举报
回复
除了isdigit()外,还有个isalpha()函数可以判断是否是字母
jack_wq 2003-08-19
  • 打赏
  • 举报
回复
假设读入的字符为c,则
if (c>='0'&&c<='9'&&数字是要求的) 即为数字
else 报错
KingI 2003-08-19
  • 打赏
  • 举报
回复
谢谢各位,不过我想区分的是float型数字和字符,并且数字不局限于0-9,请问该怎么办?谢谢
answerzy 2003-08-19
  • 打赏
  • 举报
回复
搂上的错了吧!
Bandry 2003-08-19
  • 打赏
  • 举报
回复
不要用scanf函数,要输入空格的
用getche()
ppm07 2003-08-19
  • 打赏
  • 举报
回复
原型:extern int isdigit(int c);

用法:#include <ctype.h>

功能:判断字符c是否为数字

说明:当c为数字0-9时,返回非零值,否则返回零。

举例:

// isdigit.c

#include <syslib.h>
#include <ctype.h>

main()
{
int c;

clrscr(); // clear screen
c='a';
printf("%c:%s\n",c,isdigit(c)?"yes":"no");
c='9';
printf("%c:%s\n",c,isdigit(c)?"yes":"no");
c='*';
printf("%c:%s\n",c,isdigit(c)?"yes":"no");
getchar();
return 0;
}
zzgcxy 2003-08-19
  • 打赏
  • 举报
回复
统一楼上的!
huanshilang 2003-08-19
  • 打赏
  • 举报
回复
原理是用ASCII码来区分数字和字母 你明白了吗 很简单的
lightarrow 2003-08-19
  • 打赏
  • 举报
回复
假设读入的字符为c,则
if (c>='0'&&c<='9') 即为数字
else 报错
playboyxp 2003-08-19
  • 打赏
  • 举报
回复
#include <stdio.h>
main()
{
char a[50],i;
printf("请输入一个字母\n");
scanf("%c",&a[0]);
for(i=0;i<50;)
if((a[i]>=65&&a[i]<=90)||(a[i]>=97&&a[i]<=122)) scanf("%c",&a[++i]);
else {printf("data error\n");exit(0);}
}
紫郢剑侠 2003-08-19
  • 打赏
  • 举报
回复
有现成的函数呀.
当然自己来判断也行.

69,336

社区成员

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

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