c语言 如何输入一个大写字母后得到在字母表中的位置

从键盘输入任意一个大写英文字母,求出它在26个字母表中的位置和其后面的第4个字母,请编程实现。

例如:程序运行时输入:B<回车>

输出:B在第2个位置,其后面第4个字母是F

拓展思考:如果该字母后面的第4个字母超出了字母表,比如Y,尝试按下面规则处理:

将字母表中的26个字母首尾相连形成一个环,取输入字母在环中其后面第4个字母,例如Y后面的第4个字母为C。

int main() {
    char c;
    while (1) {
        printf("请输入大写字母:");
        scanf("%c", &c);
        if (!(c >= 'A' && c <= 'Z')) {
            printf("输入错误,请重新输入!\n");
            continue;
        }
        printf("%c在第%d个位置, 其后面第四个字母是%c\n",c, c-'A'+1, c>='W'?('A'+3-('Z'-c)):(c+4));
        break;
    }
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-18
#include <stdio.h>
#include <stdlib.h>
int main()
{
char n,t;
scanf("%c",&n);
t=n;
int i;
for(i=1;i<=4;i++)
{
t++;
if(t>'Z')
{
t='A';
}
}
printf("%d %c",n-'A'+1,t);
return 0;
}

相似回答