C语言中怎么实现多行数据输入

输入多行字符串,以#为开始,#为结束。
但是在输入的时候以打回车就结束程序了,怎么才能在#后再结束呢?即怎么实现多行数据的输入。比如
#
1 2 3 4
2 4
JIU

谢谢!

在C语言中,要实现多行数据要使用循环语句,输入的时候输入回车键进行换行。

比如要输入一个2行3列的矩阵,源码如下:

#include<stdio.h>
#include<stdlib.h>

int main()
{
    int a[2][3];
    int i,j;
    printf("请输入一个2行3列的矩阵:\n");
    for(i=0;i<2;i++)
    {
        for(j=0;j<3;j++)
        {
           scanf("%d",&a[i][j]);
        }
    }
    
    printf("\n您输入的矩阵是:\n");
    for(i=0;i<2;i++)
    {
        for(j=0;j<3;j++)
        {
           printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    system("pause");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-17
很简单,请参考。
#include<stdio.h>
void main(void)
{
if(getchar()!='#')return ;
char c =0;
while( (c=getchar())!=EOF&&c!='#');
return;
}本回答被网友采纳
第2个回答  2014-10-16
输入的数据存哪里呢?还是只是完成输入就可以!追问

用int CH循环输入,不能用数组。要数一共有多少行数据输入。谢谢

追答#include <stdio.h>

int main()
{
char ch;
int cnt=0;

while(1) {
ch=getchar();
if ( ch == '#' )
{
getchar();//去掉第一行的回车
if ( cnt ) //输入过数据,则退出
break ;
}
else if ( ch == '\n' )
cnt++;

printf("%d\n", cnt );
return 0;
}

本回答被提问者采纳
相似回答