百韵网 >>  正文

c语言如何判断输入是数字串还是字符串 c语言中如何判断用户输入的字符串是指定范围的数字

来源:www.baiyundou.net   日期:较早时间

 可以参考如下代码:

  #include<stdio.h>
  double uniform(double,double,long int *);
  main()
  {
     double a,b,x;
         int i,j;
         long int s;
         a=0.0;b=1.0;s=13579;
         for(i=0;i<10;i++)
          {
              for(j=0;j<5;j++)
              {
                     x=uniform(a,b,&s);
                         printf("%13.7f",x);
           }
          printf("
");
       }
}
double uniform(double a,double b ,long int *seed)
{
   double t;
     *seed=2045*(*seed)+1;
         *seed=*seed-(*seed/1048576)*1048576;
         t=(*seed)/1048576.0;
         t=a+(b-a)*t;
         return (t);
}


对输入进行判断ASC码值,不同数值不同数字或是字符

c语言中如何判断用户输入的字符串是指定范围的数字~

可以通过遍历字符串中每一个字符,利用asc码来判断是否是数字及数字的值。
我写的一个简单的程序,包含将字符串形式的整数,识别及转换。你参考吧。

#include #include int strToNum(char *str);int isNum(char *str);int p10(int m);int main(){ char str[10]; while(1) { memset(str,0,10); scanf("%s",str); if(isNum(str)) printf("字符串对应的整数是:%d
",strToNum(str)); else printf("错误!只能输入数字字符!
"); } return 0;}int strToNum(char *str)//将字符串形式的整数转换成int型数字{ int len=strlen(str),i,sum=0; for(i=0;i'9') return 0; return 1;}int p10(int m)//计算10的次方{ int i,sum=1; for(i=0;i<m;i++) sum*=10; return sum;}

通过判断输入字符的ascii码的范围 就可以 如果大于等于48 小于等于57 就是输入的阿拉伯数字。
如果输入的字符 大于等于65小于等于90 就是大写的英文字母
如果输入字符 大于等于97 小于等于122 就是小写的英文字母
具体参考一下ascii表

相关要点总结:

17626875884:如何区分输入的是数字还是字母?如:11和字母a怎么用c语言区分。
贝咏答:也就是说,输入 数字 或ACSII码对应的字母对之后的 代码 没有影响 另一方面,如果要区分输入的是字母还是数字,可以用getchar()函数,将数字11识别为由两个‘1’组成的字符串,将字母a识别为字符‘a’。这样就能由acsii码区分哪个是数字、哪个是字母了 自己想的办法,可能麻烦了,但是可行 ...

17626875884:c语言如何验证输入的是字母还是数字
贝咏答://输入非数字以及不符合条件时重新输入。include <stdio.h> include <math.h> void main(void){ long a,b,c,h,l,x1,x2;int i,j,k;while(1){ printf("Please input data a:\n");i=scanf("%d",&a);if(i==0)getchar();while(i==1){ printf("Please input data b:\n");j...

17626875884:c语言 输入一个字符,判断是字母,数字,还是特殊字符?
贝咏答:根据ascii码值判断即可。由于数字,大小写字母均分别为连续存储,所以只需要与对应的最大最小值比较即可确定字符类型。代码如下:include <stdio.h>int main(){char c;c = getchar();//读取一个字符。if(c >='0' && c<='9')printf("是数字\n");else if(c >='a' && c<='z' ||...

17626875884:C语言输入函数scanf判断输入是否为数值问题!
贝咏答:“那如果换成%s%c时输入字符他是不是也和输入数值时一样会判断是否为字符,如果输入的不是字符也和上面一样就停止了呢?”:原理上是这样,但是占位符为“%s”时,你可以输入任意字符,因为你键盘上输入的任意字符都可以被匹配为“%s”,一串数字也可以是字符串。

17626875884:在C中如何判断输入的一个数是整数还是字符?
贝咏答:很明显,不可能实现准确的区分字母和数字,因为字母在内存中是以它的ASCII的形式存储的,也就是说,字符就是数字,数字就是字符,只不过有些数字对应的字符无法显示在屏幕上,例如数字0对应'\0',它就显示不出来...又例如,输入数字97,谁知道是字母a还是数字97~~~谁也判断不出来,人家C语言就这样存储字符的...

17626875884:c语言怎么判断输入的是数字不是字符
贝咏答:int main(){ int c = getchar(); if(c >= '0' && c<='9') printf("%c 是数字\n",c); else printf("%c 是字符\n",c);}

17626875884:C语言,怎么判定,是不是数字?
贝咏答:由于数字的ascii码值是连续的,所以可以通过与最小的数字'0'以及最大的数字'9'相比较,确定一个字符变量是否为数字。比如 if(c>='0' && c<='9') printf("%c 是数字\n",c);else printf("%c 不是数字\n",c);如果判断要经常使用,可以将该功能封装为函数:int is_num(char c){ retur...

17626875884:C语言判断数字和字符
贝咏答:没这么智能,只能自己判断,而且如果scanf("%d",&n);不能读入字符‘X’。如果想实现你描述的功能,必须把所有的输入都当做符号输入,也就是说scanf("%c",&n);然后判断n的ASCII码来区别处理。这个必须要你自己去实现。而且这么写要注意会读入空格和回车,因为它们也是字符。如果你不想查ASCII表,也...

17626875884:在C语言中怎样判断输入的是否为数字字符
贝咏答:char型的话可以与 ‘0' 到 ‘9’比 如 char a;if(a>'0'&&a<'9')int型可比较ascii码,具体 int a;if(a>(int)'0'&&a<(int)'9')其实强制转换不一定需要,,呵呵

17626875884:如何编写C语言程序判断一个字符是否是字母或数字
贝咏答:char s[10];strcpy(s,"34sk5rea9");int i;for(i=0;i<10;i++){ if((s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z')) { printf("字符"); } else if(s[i]>='0' && s[i]<='9') { printf("数字"); }} ...

(编辑:本站网友)
相关推荐
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图
@ 百韵网