这个怎么不行,puts()与gets()有什么特殊要求吗?
#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;
}
笟
浏览 2161回答 3
3回答
-
望远
#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
同学,你这个代码是没有问题的。功能是输入一个数字n,接着输入一行长度为n的小写字符串,接着程序自动将小写转化成大写进行输出gets()是读取一行字符串,puts函数是输出一段字符串
打开App,查看更多内容