7-4 字符串字母大小写转换 (15 分)

本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。
在这里插入图片描述

输入格式:

输入为一个以“#”结束的字符串(不超过30个字符)。

输出格式:

在一行中输出大小写转换后的结果字符串。

输入样例:

Hello World! 123#

输出样例:

hELLO wORLD! 123

从输入的样例可以看出输入含有空格,所以 scanf("%s",S); 函数在这里不好用,改为用 gets(); 函数输入。同样若 gtes(); 函数不能通过编译器可改为 gets_s();

#include <stdio.h>
int main()
{
 char s[100];//这里不设置为[31]的原因是题目说他有30个字符,再加上空格就超出范围了
 int i;
 gets(s);//在VS2017中不能通过编译时,这里可以更改为gets_s(s);
 for ( i = 0; s[i] != '#'; i++)
 {
  if (s[i] >= 'A'&&s[i] <= 'Z')
  {
   s[i] += 32;//大写变成小写
  }
  else if (s[i] >= 'a'&&s[i] <= 'z')
  {
   s[i] -= 32;//小写变成大写
  }
 }
 for ( i = 0; s[i] != '#'; i++)
 {
  printf("%c", s[i]);
 }
 return 0; 
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐