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