C语言怎么用switch 语句判断输入的字符是大写字母小写字母还是数字?

 我来答
白雲深處是我家
推荐于2017-09-16 · TA获得超过381个赞
知道小有建树答主
回答量:203
采纳率:66%
帮助的人:238万
展开全部
使用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

来进行判断。

追问
可以打省略号吗?
路人之三
2015-06-20 · TA获得超过259个赞
知道答主
回答量:178
采纳率:0%
帮助的人:158万
展开全部
如果你确定字符不是大写字母就是小写字母,而没有其他字符的话,倒是能用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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无线自组网_ttt
2015-06-20 · 超过34用户采纳过TA的回答
知道答主
回答量:144
采纳率:0%
帮助的人:68.8万
展开全部
用虚拟判断 如果他是字母 flag=1 else fla=0
switch(flag)
case 1:
字母;跳出
Case 2:
数字 ;跳出
追问
你这方法好像绕过了问题,可以是可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我才是柳随风
2015-06-20 · TA获得超过163个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:48.2万
展开全部
int c=...;

switch(c)
{
case 'A':case 'B' ... case 'Z':
//大写字母
break;
case 'a':case 'b' ... case 'z':
//小写字母
break;
default:
//数字
break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式