c语言中怎么输出字母在字母表中是第几个字母,还有如果输入的字母是小写的,怎样将他转换成大写字母输出

c语言中怎么输出字母在字母表中是第几个字母,还有如果输入的字母是小写的,怎样将他转换成大写字母输出,

1、根据字符(ch)-'A'+1可以得到字母表的位置
2、字符(ch)-32可以得到对应的大写字母
注意:
最好先将输入的字符统一转为大写字符,然后计算在字母表中的位置。

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>

int main()
{
    char c;
    printf("输入一个字母:");
    c = getchar();
    if (c>='a' && c<='z') {
        c = c - 32;
    }
    int n = c - 'A' + 1;
    printf("%c在字母表中是第%d个字母\n",c,n);
    return 0;
}

img

(1)如果是小写字母的话-'a'+1; 大写的话-'A'+1
(2)A的ASCII值为65,a的ASCII值为97,所以-32即可

大写字母 - ‘A’ +1 = 第几个字母 'C' - 'A' + 1 = 3
小写字母 - ‘a' +1 = 第几个字母 'b' -'a' + 1 = 2
小写字母 - 32 = 大写字母 ' b ' - 32 = 'B'