1038: 字符串的输入输出处理
1.描述
字符串的输入输出处理。
输入
第一行是一个正整数N,最大为100。之后是多行字符串(行数大于N), 每一行字符串可能含有空格,字符数不超过1000。
输出
先将输入中的前N行字符串(可能含有空格)原样输出,再将余下的字符串(不含有空格)以空格或回车分割依次按行输出。每行输出之间输出一个空行。
样例输入
2
www.njupt.edu.cn NUPT
A C M
N U P Ter
样例输出
www.njupt.edu.cn NUPT
A C M
N
U
P
Ter
2.代码
方法一
#include<stdio.h>
#include<string.h>
int main()
{
int n;
char a[100],b[100];
scanf("%d\n",&n); //这里的\n可以被当作getchar();可以参考我的博客中scanf与gets连用的异常。
while(n--)
{
gets(a);
printf("%s\n\n",a);
}
while(scanf("%s",b)!=EOF)
{
printf("%s\n\n",b);
}
return 0;
}
方法二
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i,n,x;
char a[1000];
scanf("%d",&n);
getchar();
for(i=1; i<=n; i++)
{
gets(a);
printf("%s\n\n",a);
}
while(gets(a)!=NULL)
{x=strlen(a);
for(i=0; i<x; i++)
{
if(a[i]==' ')
{
printf("\n\n");
}
if(a[i]!=' ')
{
printf("%c",a[i]);
}
}
printf("\n\n");
}
return 0;
}