岸芷汀兰1 发表于 2020-5-13 11:31:15

用c语言

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

liuzhengyuan 发表于 2020-5-13 11:34:41

ASCII 码了解一下……

倒戈卸甲 发表于 2020-5-13 11:49:06

可以用ascii码表转换,
也可以直接(输入的字符-‘A'+1)以int的方式输出得到位置
(输入的字符+4)以char方式输出就是后面第四个字母。
能这么干是因为编译器有能力自动转换char与int,它们本质都是数字

sunrise085 发表于 2020-5-13 12:45:46

本帖最后由 sunrise085 于 2020-5-13 12:48 编辑

到了Z之后不再输出。
#include <stdio.h>
int main()
{
    char ch;
    int flag=1;
    while(flag){
      scanf("%c",&ch);
      if(ch>='A'&&ch<='Z'){
            printf("位置是%d,后面的四个字母是",ch-'A'+1);
            for(int i=0;i<4;i++)
                if (ch++<'Z')
                  printf("%c",ch);
                else{
                  printf("\nZ后面已经没有大写字母了!");
                  break;
                }
      
            flag=0;
      }
      else
            printf("输入不正确,请输入一个大写字母!");
      getchar();
    }
    return 0;
}
到了Z之后从A输出
#include <stdio.h>
int main()
{
    char ch;
    int flag=1;
    while(flag){
      scanf("%c",&ch);
      if(ch>='A'&&ch<='Z'){
            printf("位置是%d,后面的四个字母是",ch-'A'+1);
            for(int i=0;i<4;i++)
                if (ch++<'Z')
                  printf("%c",ch);
                else
                  printf("%c",ch-26);
            flag=0;
      }
      else
            printf("输入不正确,请输入一个大写字母!");
      getchar();
    }
    return 0;
}
页: [1]
查看完整版本: 用c语言