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

2024-12-05 16:35:34
推荐回答(5个)
回答(1):

不懂可以追问,可行请采纳:

#include

#include

int main(void)

{

    char a;

    printf("请输入1个大写字母:\n");

    while(a=getch(),putch(a),a>'Z'||a<'A') printf("\n非法输入!\n");

    if(a=='A') printf("\n没有前面的字母\n");

    else if(a=='Z') printf("\n没有后面的字母\n");

    else printf("\n%c%c\n",a-1,a+1);

    return 0;

}


这是被采纳的答案,这也是字母?

回答(2):

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

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

回答(3):

此答案采用Microsoft visual C++软件编写,欢迎大家批评指正,主要实现了输入一个英文字母,输出字母表中他前后的字母!
#include
int main()
{
char c;
c=getchar();
if(c>'A'&&c<'Z')
printf("%c前面的字母是%c,后面的字母是%c\n",c,c-1,c+1);
else if(c>'a'&&c<'z')
printf("%c前面的字母是%c,后面的字母是%c\n",c,c-1,c+1);
else if(c=='a'||c=='A')
printf("%c没有前面的字母,后面的字母是%c\n",c,c+1);
else if(c=='z'||c=='Z')
printf("%c前面的字母是%c,没有后面的字母%c\n",c,c-1);
else printf("Error character\n");
return 0;
}

回答(4):

printf("请输入一个大写字母:");
char c;
scanf("%c",&c);
if (c>'A'&&c<'Z') {
printf("前一个字母是:%c,后一个字母是:%c",c-1,c+1);
}
else if(c=='A'){
printf("A的前面没有字母,A的后一个字母是%c",c+1);
}
else if(c=='Z'){
printf("Z的后面没有字母,Z的前一个字母是%c",c-1);
}
else{
printf("输入有误请重新输入");
}

回答(5):

#include
void main()
{
char ch, c;
bool flag= 1;

while(flag)
{
printf("请输入一个大写字母:\n");
scanf("%c%c", &ch, &c);

if(ch > 'A' && ch < 'Z') printf("%c, %c\n", ch-1, ch+1);
else if(ch == 'A') printf("%c\n 没有前面的字母\n", ch+1);
else if(ch == 'Z') printf("%c\n 没有后面的字母\n", ch-1);
else if(ch == 'q') flag= 0;
else
printf("----输入的为非法字符!\n");
printf("\n");
}
}