#include <stdio.h>
int main()
{
int n,l,t,i=1;
char s[200];
scanf("%d",&n);
while(i<=n)
{
i++;
gets(s);
for(t=0;t<200;t++)
{
if('A'<=s[t]&&s[t]<'Z')
s[t] = s[t]+32;
else if('a'<=s[t]&&s[t]<'z')
s[t] = s[t]-32;
}
puts(s);
}
return 0;
}
3 回答
望远
TA贡献1017条经验 获得超1032个赞
#include <stdio.h> int main() { int n,l,t,i=1; char s[200]; scanf("%d",&n); getchar(); /* 你scanf输入n的时候结尾有一个残余的\n,你要把这个字符\n去除,否则会被gets()函数接收,导致第一个字符串是空串,常用的做法是在scanf函数后面加上一个getchar(); */ while(i<=n) { i++; gets(s); for(t=0;s[t]!='\0';t++) { if('A'<=s[t]&&s[t]<'Z') s[t] = s[t]+32; else if('a'<=s[t]&&s[t]<'z') s[t] = s[t]-32; } puts(s); } return 0; }
JustWannaHugU
TA贡献452条经验 获得超796个赞
同学,你这个代码是没有问题的。
功能是输入一个数字n,接着输入一行长度为n的小写字符串,接着程序自动将小写转化成大写进行输出
gets()是读取一行字符串,puts函数是输出一段字符串
- 3 回答
- 3 关注
- 2160 浏览
添加回答
举报
0/150
提交
取消