何艺铧 发表于 2021-12-13 19:58:04

求大佬帮助!

#include <stdio.h>

int main()
{
      char ch;

      printf("请输入一个字符:");
      scanf("%c", &ch);

      if (ch >= 'A' && ch <= 'Z')
      {
                ch = ch + 32; // ch加32,变成小写,然后赋值回ch
      }
         if (ch >= 'a' && ch <= 'z')
      {
                ch = ch - 32; // 同上
      }

      printf("%c\n", ch);

      return 0;
}
为什么我输入A,结果是A啊!题目是2. 要求用户输入一个字符,如果是大写字母,将其转换为小写;如果是小写字母,将其转换为大写;其他字符不做处理,并输出结果。

村里小黑 发表于 2021-12-13 20:16:53

我已经站起来回答了
#include <stdio.h>

int main()
{
      char ch;

      printf("请输入一个字符:");
      scanf("%c", &ch);

      if (ch >= 'A' && ch <= 'Z')
      {
               
                ch = ch + 32; // ch加32,变成小写,然后赋值回ch
      }
         else if (ch >= 'a' && ch <= 'z')
      {
                ch = ch - 32; // 同上
      }

      printf("%c\n", ch);

      return 0;
}

你要注意,你先是转换成a没错,但是你不能让他再进入a变A的循环,

何艺铧 发表于 2021-12-13 20:27:57

村里小黑 发表于 2021-12-13 20:16
我已经站起来回答了




是啊,我的锅。
页: [1]
查看完整版本: 求大佬帮助!