c语言如何判断输入是数字串还是字符串

作者&投稿:臧彬 (若有异议请与网页底部的电邮联系)
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表

 可以参考如下代码:

  #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语言 输入一个字符,判断是字母,数字,还是特殊字符?
);return 0;} include <stdio.h>void main(){char ch;printf("请输入一个字符:\\n");ch=getchar();if(ch>='a'&&ch<'z'||ch>='A'&&ch<='Z')printf("该字符是字母");else if(ch>='0'&&ch<='9')printf("该字符是数字");elseprintf("该字符是特殊字符");} ...

C语言,如何判断输入的是字母?ASCII字母对于值是65--90,97--122。_百...
include <stdio.h>void main(){char ch;scanf("%c",&ch);(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')?printf("是字母"):printf("不是字母");}如果一定要用ASCII码表中字符对应的数来写,那么:include <stdio.h>void main(){char ch;scanf("%c",&ch);(ch>=65&&ch<=90||ch...

C语言中怎么写判断输入是一个数,而不是字符等
就当做字符输入,然后看字符的ACSII码 scanf("%c",&ch);if (ch >= '0' && ch <= '9'){ printf("输入的是数字,值是%d\\n",ch - '0');} else if (ch >= 'a' && ch <= 'z'){printf("输入的是小写字母);} else if (ch >= 'A' && ch <= 'Z'){printf("输入的是...

c语言编程如何区分输入的是数字
可以这样。include <stdio.h>int main(void){char ch;while(1){ch=getchar();if(ch>'0' && ch <'9'){getchar();printf("next\\n");}elsebreak;}return 0;如果你要求输入一个字符串,然后判断是不是数字字符组成的字符串的话 include <stdio.h>#include <string.h>int main(void){...

C语言:如何判断一个字符数组里输入的是字母还是数字还是汉字还是特殊字 ...
ASCII码占用一个字节,汉字占用两个字节,并且汉字的两个字节的最高位都是1,而ASCII码的最高位都是0,可以据此判断

在C语言中如何判断输入的是否为英文字母
:#include <ctype.h> isalnum() 用来判断一个字符是否为英文字母或数字,相当于 isalpha(c) || isdigit(c),其原型为:int isalnum(int c);【参数】c 为需要检测的字符。【返回值】若参数c 为字母或数字,若 c 为 0 ~ 9 a ~ z A ~ Z 则返回非 0,否则返回 0。注意,isalnum()...

急!!!用c语言 怎么判断输入的是非数字字符串?? 请各位帮忙
只要判断输入的字符的ASCII码不在数字0~9的ASCII值范围就行了:scanf("%s",str);for(i=0;i<strlen(str);i++)if (str[i]<'0'||str[i]>'9') ...;我写了个大概,你要怎么处理判断结果,自己再补充 按你补充的说法,就是碰到非数字就提示吧:scanf("%s",str);for(i=0;i<strlen(...

c语言怎样判断输入的汉字是否是正确的
2、例如:汉字“啊”的汉字机内码为B0A1H 表示成双字节是这样的10110000 10100001 本程序用的就是判断最高位的方法。int is_zh_ch(char p){ if(~(p >> 8) == 0) 将p字节进行移位运算,右移8位,这样,如果移位后是0,则说明原来的字节最高位为0,不是1那么也就不是汉字的一个字节。{...

C语言用switch实现从键盘输入一个字符,判断是数字还是其它?
使用switch判断比较麻烦,不建议使用这种方式。 char ch; \/\/ scanf ch switch(ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': printf("%c is a number.\\n", ch); ...

C语言scanf的%f, 实际输入的是字符,程序要如何判断它输入的是数字还是字...
如果前面没有输入字符,那就返回一个错误信息EOF。int main(int argc,char *argv[]){ float x; if(scanf("%f",&x)!=1) printf("Invalid input\\n"); else printf("%f\\n",x); return 0;}自己看图片。没有明白不能判断是什么意思!

来凤县15223434748: C语言 如何判断输入的是数字还是字符 -
焦胞奥扎: 你这个程序与“输入的是字符还是数字”没有关系. 关键是不能用double类型的r与0直接这样进行比较:r!=0应该像下面这样写: const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON) 不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式.

来凤县15223434748: &quot;C语言怎么根据ASCII码判断输入的数据是字符串还是纯数字&quot; -
焦胞奥扎: C语言使用的读入键盘输入的函数较常用的一般有: scanf fscanf sscanf getchar getsscanf、fscanf、sscanf 根据你定义的字符格式来判断是字符串还是纯数字. 例如: scanf("%d",&a); 使用了格式控制%d就表示输入的十进制整数; scanf("...

来凤县15223434748: C语言中怎么写判断输入是一个数,而不是字符等 -
焦胞奥扎: 就当做字符输入 scanf("%c",&ch); if(ch>='0'&& ch<='9') { printf("输入的是数字,值是%d\n",ch-'0'); } else if(ch>='a'&& ch<='z') {printf("输入的是小写字母); } else if(ch>='A'&& ch<='Z') {printf("输入的是大写字母); }

来凤县15223434748: 急!!!用c语言 怎么判断输入的是非数字字符串?? 请各位帮忙 -
焦胞奥扎: 只要判断输入的字符的ASCII码不在数字0~9的ASCII值范围就行了:scanf("%s",str); for(i=0;i<strlen(str);i++) if (str[i]<'0'||str[i]>'9') ...;我写了个大概,你要怎么处理判断结果,自己再补充按你补充的说法,就是碰到非数字就提示吧: scanf("%s",str); for(i=0;i<strlen(str);i++) if (str[i]<'0'||str[i]>'9') { printf("error"); return;} printf("%d\n",atoi(str)); return;

来凤县15223434748: 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 ...

来凤县15223434748: c语言如何判断输入是数字串还是字符串 -
焦胞奥扎: 对输入进行判断ASC码值,不同数值不同数字或是字符

来凤县15223434748: 在c语言中,如何编写检测输入的字符串是否为字符. -
焦胞奥扎: #include #include void main( ) { printf("请数输入一个字符:"); char ch = getchar(); if(ch>= 'a'&&ch<= 'z') printf("该字符是小写字母"); else if(ch >= 'A'&&ch <='Z') printf("该字符是大写字母"); else if(ch>='0'&&ch <='9') printf("该字符是数字"); else printf("该字符是其他字符") ; printf("\n") ; system("pause"); }

来凤县15223434748: c语言判断输入的是数字还是字符串 -
焦胞奥扎: 纯数字比如32832,128.321,其他的dsajk213d都算英文.#include void main() { char s[20]; int i=0,n; scanf("%s",s); n=strlen(s); while(s!='\0') {if(s[i]>='0'&&s[i] i++; elsebreak; } if(i==n) printf("这是纯数字\n"); else printf("这是字母,或者夹着数字的字母\n"); getch(); }

来凤县15223434748: C语言:如何判断输入的是数字还是其他字符 -
焦胞奥扎: 有很多方法: 1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字. 2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字. 至于怎么判读是字母还是数字,很简单,假设字符c, 满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母. 满足 (c>=0 && c<=9)就是数字.

来凤县15223434748: c语言判断输入的是数字还是字符串
焦胞奥扎: 说一个方法吧 如果只是IP地址的话,接收到输入后,按.来分割 然后循环判断分割后的字符的ascii码是否是数字.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网