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);
    break;
  case 'a':
  case 'b':
  ....
  case 'z':
    printf("%c is a lower alphabet.\n",ch);
    break;
  case 'A':
  ...
  case 'Z':
    printf("%c is a upper alphabet.\n",ch);
    break;
  default:
    printf("%c is other ascII code.\n",ch);
}

建议使用#include <ctype.h>中的函数

isdigit

islower

isupper

来进行判断。

追问

可以打省略号吗?

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-20
如果你确定字符不是大写字母就是小写字母,而没有其他字符的话,倒是能用switch解决

#include <stdio.h>
#include <stdlib.h>

int main()
{
char ch;

printf("please input a letter:");
ch = getchar();

switch (ch / 91)
{
case 0:printf("The character is capital!\n"); break;
case 1:printf("The character is lowercase letter!\n"); break;
default:break;
}

return 0;
}
第2个回答  2015-06-20
用虚拟判断 如果他是字母 flag=1 else fla=0
switch(flag)
case 1:
字母;跳出
Case 2:
数字 ;跳出追问

你这方法好像绕过了问题,可以是可以

第3个回答  2015-06-20
int c=...;

switch(c)
{
case 'A':case 'B' ... case 'Z':
//大写字母
break;
case 'a':case 'b' ... case 'z':
//小写字母
break;
default:
//数字
break;
}

C语言怎么用switch 语句判断输入的字符是大写字母小写字母还是数字?
break; case 'A': ... case 'Z': printf("%c is a upper alphabet.\\n",ch); break; default: printf("%c is other ascII code.\\n",ch);}建议使用#include <ctype.h>中的函数isdigit islower isupper 来进行判断。

c语言输入一个字符判断它是大写字母或小写字母 或数字或其他_百度知 ...
include<stdio.h> voidmain(){ charch;inta;ch=getchar();if(ch>='a'&&ch<='z')ch='1';if(ch>='A'&&ch<='Z')ch='2';if(ch=='')ch='3';switch(ch){ case'1':printf("xiao\\n");break;case'2':printf("da\\n");break;case'3':printf("空格\\n");break;default:print...

C语言编程从键盘输入一个字符,判断该字符是否为控制字符、空格、数字字...
include<stdio.h> voidmain(){ charch;inta;ch=getchar();if(ch>='a'&&ch<='z')ch='1';if(ch>='A'&&ch<='Z')ch='2';if(ch=='')ch='3';switch(ch){ case'1':printf("xiao\\n");break;case'2':printf("da\\n");break;case'3':printf("空格\\n");break;default:print...

C++怎么用switch语句判断输入的字符
把输入的字符转换成ASCII,通过ASCII进行判断,也可以参考下面的代码:switch(ch){ case 'a':printf("%d",ch);break;case 'z':break;default:printf("没有匹配成功。");} \/*类似上面的表达式,ch 与 'a' 比较,相等就输出,不等就一个一个判断全都不相等,则执行 default 后面的语句。\/ ...

c语言怎么比较字符的大小
(这个调用了 string.h 头函数)include <stdio.h> include <string.h> void comparision(char a[],char b[]){if(strcmp(a,b)>0) printf("a[40]>b[40]")。else if(strcmp(a,b)==0) printf("a[40]=b[40]");else printf("a[40]...

...个字符,判断如果是小写字母,则将其转换为大写字母输出,否则直接输出...
printf("%c\\n",a);} } 第二个 include<stdio.h> void main(){ int a;scanf("%d",&a);if(a%2==0){ printf("偶数\\n");} else { printf("奇数\\n");} } 第三个把第二个的判断条件换成大于5,自己搞去。第四个 include<stdio.h> int main(){ char a;int x=20,y=30,s...

c语言中switch case怎么表示一个范围
2、当判断字符时 示例:将"0x00"~"0xff"转化为数值0x00~0xff include<stdio.h> int main(){ char buf[6][6]={"0xff","0X02","0X1f","0xf1","0xa1","0Xb0"};for(int i=0;i<6;i++)if(buf[0]=='0'&&(buf[1]=='x'||buf[1]=='X'))\/\/匹配前缀 { unsigned char ...

用C语言编写一个简单的打字母游戏,给出基本思路及完整程序。_百度知 ...
if(c<0)c=255;Sleeep(20); \/\/延时20秒}getch( ); \/\/提供给用户时需要等待输入后再退出} \/***等级选择函数***\/int rank_(char rank1){int rank2;switch(rank1) \/\/判断字符,确定等级{case’0’:rank2=11;break;case’1’:rank2=10;break; case’2’:rank2=9;break; case’3’:rank2=8;br...

...将输入的全部小写字母变换为大写字母,大写字母变换为小写字母,非...
include <stdio.h> int main(void){ char in;printf("请输入一个字母");scanf("%c", &in);switch(in){ case 'a':printf("A");break;case 'b':printf("B");break;case 'c':printf("C");break;case 'd':printf("D");break;case 'e':printf("E");break;case 'f':printf("...

c语言中switch怎么用?
简单的说switch语句也是属于判断语句,if else语句适合3个以内的判断,但是多了用if就不太方便了,所以这时3个以上的判断用switch语句就比较方便了,结构就像楼上的兄弟们那样写的,大概怎么用我举个例子你就懂了。例:判断一周的食谱,就是星期几的食谱是什么,首先一个星期7天,那么判断七次,用switch...

相似回答