编写一段程序,要求通过键盘一个输入字符,将输入的字符分为数字、大写字母、小写字母和其他字符四类。

#include<stdio.h>voidmain(){chara;printf("Pleaseenteracharacter:\n");scanf("%c",&a);s... #include<stdio.h>
void main()
{
char a;
printf("Please enter a character:\n");
scanf("%c",&a);
switch(a)
{
if(a>=0&&a<65)
printf("这是数字");break;
else if(a<=96);
printf("这是大写字母\n");break;
else if(a<=122);
printf("这是小写字母\n");break;
else
printf("其他字符型\n");
}
}
总是出现G:\homework3-1\homework3-2.c(11) : error C2181: illegal else without matching if
G:\homework3-1\homework3-2.c(13) : error C2181: illegal else without matching if是什么原因?怎么改?
展开
 我来答
不懂多来问问
2014-04-08 · TA获得超过2591个赞
知道小有建树答主
回答量:474
采纳率:0%
帮助的人:425万
展开全部

switch(a)  case(a<65):  这个使用错误,因为case的值要是常量,不能像你那样写,你要想个办法将这个表达式转为常量。建议改成else if结构就可以。

     另外数字的编码是48--57.

#include <stdio.h>
void main()
{
 char a;
    printf("Pease enter a character:\n");
    scanf("%c",&a);

 if(a>=65&&a<=90)
  printf("这是大写字母\n");
 else  if(a>=97&&a<=122)
  printf("这是小写字母\n");
 else if(a>=48&&a<=57)
  printf("这是数字\n");
 else
  printf("这是其它字符\n");
}

三天打鱼N
推荐于2018-03-07 · TA获得超过1540个赞
知道大有可为答主
回答量:2032
采纳率:74%
帮助的人:584万
展开全部
把这个switch(a) 删除
你这代码 用if ()else 语句 没有必要 写 switch
switch 语句里应该用 case 做判断吧
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式