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