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