输入多行字符串,以#为开始,#为结束。
但是在输入的时候以打回车就结束程序了,怎么才能在#后再结束呢?即怎么实现多行数据的输入。比如
#
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;
}本回答被网友采纳
#include<stdio.h>
void main(void)
{
if(getchar()!='#')return ;
char c =0;
while( (c=getchar())!=EOF&&c!='#');
return;
}本回答被网友采纳
第2个回答 2014-10-16
输入的数据存哪里呢?还是只是完成输入就可以!追问
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;
}本回答被提问者采纳
用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;
}本回答被提问者采纳