c语言 怎样每行输入一个数据,按回车后显示每行结果?

就是说输入n行(行数不确定),按回车键后,输出n行。不知道怎样输入n行啊。。。

1 用gets输入每行数据。

2 用puts输出读到的数据。

3 当gets函数返回NULL,表示读入结束,退出程序。

代码:

int main()
{   
    char s[100];
    while(gets(s))
        puts(s);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-05
#include<stdio.h>
int main(){
int n; //求n的绝对值
while(scanf("%d",&n)!=EOF){ //每读一个数就执行下面的语句,读到文件结束符时这个循环结束
if(n>=0)
printf("%d\n",n);
else
printf("%d\n",n*(-1));
}
return 0;
}
第2个回答  2011-11-05
#include <stdio.h>
#include <stdlib.h>
void main()
{
char sentence[20],buffer[100][20];
int i = 0;
while(gets(sentence))
{
if(sentence[0] == 0)
{
break;
}
for(int j =0;j<20;j++)
{
buffer[i][j] = sentence[j];
}
i++;
}
for(int k= 0; k<i;k++)
{
printf("%s\n",buffer[k]);
}

system("pause");
}

如上可以实现输入两个enter输出输入的所有行。希望对你有帮助追问

刚开始学c语言,看不大懂,能解释下第4行以下的吗?其实原题是杭电oj上求绝对值的题,要求输入多组数据,每个一行,然后输出n行绝对值

本回答被提问者和网友采纳
第3个回答  2011-11-05
用while循环,条件为n,用数组什么的存储数据,用for()也行,但要是参加编程大赛的话最好别用for();
第4个回答  2011-11-05
while(scanf("%d %d",&a, &b) != EOF)
相似回答