C语⾔利⽤switch语句实现输⼊⼀个字母,输出它前后紧挨着的字母
题⽬来源:⼤⼯慕课
作者:Caleb Sung
题⽬要求
从屏幕上输⼊⼀个字符,如果不是英⽂字母,输出“这不是英⽂字母,请重新输⼊”,然后重新输⼊字符,如果是英⽂字母,以⼤写字母的形式输出字母表中它前⾯的字符和后⾯的字符,如果输⼊的字符为‘a’或‘A’,输出“没有前⾯的字母”,如果是‘z’或‘Z’输
出“没有后⾯的字母”(如果使⽤的VC++不⽀持中⽂,则把相应的中⽂输出换成英⽂输出)。
题⽬提⽰
如输⼊不是字母,则重新输⼊,这时要考虑回车的问题,要先接收上⼀次输⼊的回车字符。
注意事项
不要忘记switch每个选择分⽀(case)后⾯加⼀个break;,否则会按照各种case的顺序输出各种分⽀的
结果……
default分⽀下的else部分即⼤写字母,写成else if(ch>'A'&&ch<'Z')效果也是⼀样的
解答⽰范
#include<stdio.h>
int main()
{
char ch,ch1,ch2;
printf("请输⼊⼀个字符。\n");
ch=getchar();
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
{
switch(ch)
{
case'a':
printf("没有前⾯的字母。\n");break;
case'A':
printf("没有前⾯的字母。\n");break;
case'z':
printf("没有后⾯的字母。\n");break;
case'Z':
printf("没有后⾯的字母。\n");break;
default:
{
if(ch>'a'&&ch<'z')
switch case判断字符串{
ch1=ch+'A'-'a'-1;
ch2=ch+'A'-'a'+1;
printf("这个字母两边的字母分别是%c和%c。\n",ch1,ch2);
}
else
{
ch1=ch-1;
ch2=ch+1;
printf("这个字母两边的字母分别是%c和%c。\n",ch1,ch2);
}
}
}
}
else
printf("这个字符不是⼀个英⽂字母。\n");
return0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。