编写C语言程序 输入一个大写字母,输出字母表中它前面的字母和它后面的字母。。

2024-11-26 13:37:50
推荐回答(5个)
回答(1):

按问题要求可大致分为以下三个步骤分析并解决问题

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;
}

回答(2):

#include
int main()

{

char a,b,c;

printf("请输入一个大写字母:");

scanf("%c",&b);

a=b-1;

c=b+1;

printf("%c%c",a,c);

}

回答(3):

#include
void main()
{
char c;
printf("请输入一个字母:\n");
scanf("%c",&c);
printf("前:%c;后:%c\n",c-1,c+1);
}

回答(4):

#include
int main(void)
{
char ch;
char alpha = 'A';
ch = getchar();
while(alpha >='A' && alpha<='Z')
{
if(alpha!=ch)
putchar(alpha);
}
return 0;
}

回答(5):

#include
using namespace std;
int main(){
char ch;
scanf("%c",&ch);
if(ch=='z')
ch='a';
else
ch++;
printf("%c\n",ch);
return 0;
}