#include<stdio.h>
int main(void)
{
   int n,i;
   char s[100][100];
   scanf("%d",&n);
   getchar();
   for(i=0;i<n;i++) gets(s[i]);
   while(scanf("%s",s[i])!=EOF) i++;
   n=i;
   for(i=0;i<n;i++)
   printf("%s\n\n",s[i]);
    return 0;
}

解题思路:





注意事项:





参考代码:

点赞(1)
 

0.0分

15 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 11 条评论

怀念的季节 2年前 回复TA
@Huhulll 应该是s[1001][1001]。看作1001个一维数组,一维数组的数组元素是字符串常量。含空格的字符串最多100行,而含空格以及不含空格的字符串最多有1001行。只有为什么是1001,而不是1000,是因为字符串结束标志占一个位置
Huhulll 3年前 回复TA
char s[100][100];这为什么要用二维数组啊,为什么不能用一维数组啊?
Huhulll 3年前 回复TA
@TCcjx 按ctrl+Z结束
TCcjx 3年前 回复TA
为什么输入标准输入,之后一直在等待输出呢?
Noe 3年前 回复TA
while(scanf("%s",s[i])!=EOF) i++;应该是在N行以后的字符 由于scanf在读到空格的时候会停止读入 所以会i++自动下一次读入 从而实现自动在N行以后自动分割
supreme 3年前 回复TA
真是牛 思路简洁  化繁为简
JeanGrey 4年前 回复TA
@陈雨斌 是Ctrl+z+回车,不好意思
JeanGrey 4年前 回复TA
头文件少了个string.h吧
JeanGrey 4年前 回复TA
@陈雨斌 当输入回车键的时候跳出循环
海洋之心 7年前 回复TA
就是没有读到文件结束符