我先以整数形式读入一个数:
main()
{
long int x;
scanf("%ld", &x);
if(x为整数)
printf("OK");
if(x为字符)
printf("Wrong");
}
这段程序的意思即为在屏幕上输入一个数,如果为a,b以及空格之类的字符,则输出Wrong,如果是1,2等整数则输出OK,请哪位高手指教一下这个程序具体该怎么写!
还有一个问题,如果先以%ld的形式输入一个字符,怎样才能输出这个字符本身呢?
在C中如何判断输入的一个数是整数还是字符?
很明显,不可能实现准确的区分字母和数字,因为字母在内存中是以它的ASCII的形式存储的,也就是说,字符就是数字,数字就是字符,只不过有些数字对应的字符无法显示在屏幕上,例如数字0对应'\\0',它就显示不出来...又例如,输入数字97,谁知道是字母a还是数字97~~~谁也判断不出来,人家C语言就这样存储字符的...
c语言编程中如何判断一个数是否为整数
C语言判断是否为整数,那么只可能是判断输入的值,或者字符串中的值,是否为整数。因为一旦存储在变量中,根据变量类型,要么为整数,要么为浮点数,是确定的。一、判断思路:1、整数中,按十进制计算,合法字符为0到9,另外在最初位置可以有符号,即+或者-。2、对于输入的值,可以先存储到字符串中,...
C语言中怎样判断输入的是整数还是浮点数
printf(输入的是整型:%d\\n, a);}else{sscanf(str, %lf, &b); \/\/ 再从字符串格式化成浮点型 例如:int i;float f;double d;输入 i 是 整数,输入 f 是 float 型, 输入 d 是 double 型 (2) 看输入格式 scanf(%d %f %lf,...);d 输入整数; %f 输入 float 型; %lf 输入 dou...
c语言中如何判断输入的是字符还是数字
可以使用代码进行判断:include<stdio.h> intmain(){ charc;while(scanf("%c",&c)!=EOF){ getchar();if(c>='0'&&c<='9')printf("%c是数字\\n",c);elseif(c>='a'&&c<='z'||c>='A'&&c<='Z')printf("%c是字母\\n",c);elseprintf("%c是特殊字符\\n",c);} return0;}...
C语言中如何判断一个数是不是整数
float x;...if(fabs(x-(int)x)<1e-8)printf(“x是一个整数\\n”);else printf(“x不是一个整数\\n”);方法2:int c=(int)b,d=(int)(b+0.999999)if(c==d)printf(“是整数\\n”);else printf(“不是整数\\n”);方法3:float b;...if(b-(int)b==0)printf(“是整数\\n”);...
C语言:如何判断输入的是数字还是其他字符
1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。至于怎么判读是字母还是数字,很简单,假设字符c,满足 (c>='a'&& c<='z')|| (c>=...
如何用c语言实现“判断用户输入一个值为正整数,如果不是提醒用户重新输...
可以让用户输入一个字符串,然后检查每个字符是否是0~9中的任意一个,如果不是,则不是正整数。当然这里会允许000123这样的情况出现,即数字可以用0开头。如要处理,还需另外考虑,如果不考虑这个问题,可以写成如下的代码 include <stdio.h>main(){ char input[BUFSIZ]; printf("Input a positive...
c语言里 输入时 怎么判断是字符还是数字?
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:char a;scanf("%c", &a);if (a < '0' || a > '9') {printf("输入错误\\n");} 3、编译器运行test.cpp文件,此时成功判断了输入的是字符而打印了“输入错误”的提示。
C语言中怎么判断输入的数是整数还是浮点数?
c语言中没有判断输入是整数还是浮点数的既有功能,需要自己实现.实现方法是把输入作为字符串读入,然后自行分析该字符串表示的是整数还是浮点数.
c语言如何判断从键盘输入的是符号还是数字呢?
如果格式串是%d,则,当用户输入一个非数字字符时,scnaf()就会匹配失败,返回0 利用这个特点,可以在程序中进行输入数据的有效判断。因为系统不会自动清理缓存中的数据,所以,在读入错误数据时,要及时清理缓存,以免造成死循环。如:void main(){ int n; while( scanf("%d%*c", &n)!= ...