按问题要求可大致分为以下三个步骤分析并解决问题
1、输入字符后先检查是否符合标准,按要求是输入一个大写字母,那么输入非法字符应该让用户重新输入;
2、根据ASCII编码规则,已知字符顺序按ABCDEF...Z排列,那么输入字符-1就是前一个字母,输入字符+1就是后一个字母;
3、对输入个别字符的处理:判断输入的字符是不是A,A前面没有字母;判断字符是不是Z,Z后面没有字母;
代码例子
#include<stdio.h>
int main(){
a:printf("输入一个大写字母:");
char c;
scanf("%c",&c);
if(c<'A' || c>'Z'){
printf("输入非大写字母!\n");
goto a;
}
if(c>'A'){
printf("前一个字母是:%c\n",c-1);
}else{
printf("没有前一个字母!\n");
}
if(c<'Z'){
printf("后一个字母是:%c\n",c+1);
}else{
printf("没有后一个字母!\n");
}
goto a;
return 0;
}