C语言中实现多组数据输入输出主要有两种方式:
1.首先输入一个n,表示将有n个输入输出,例如:
#include <stdio.h>int main()
{
int n,a
scanf("%d",&n)
while(n--){
scanf("%d",&a)
printf("输出:%d\n",a)
}
return 0
}
/*
运行结果:
3
255
输出:255
156
输出:156
125
输出:125
*/
2.使用while(scanf("%d",&n)!=EOF){}语句,直达输入ctrl+z,结束输入,例如:
#include <stdio.h>int main()
{
int a
while(scanf("%d",&a)!=EOF){
printf("输出:%d\n",a)
}
return 0
}
/*
运行结果:
54
输出:54
5156
输出:5156
21
输出:21
^Z
*/
如果你是希望通过输入来确定b的个数,又不想多申请空间,那就是动态数组的声明了,能够实现。首先输入n,表示要输入的b[]的元素个数,在通过这个语句:
int *b= (int*)malloc(n*sizeof(int))
就能够通过输入的n来动态地给b申请合适的空间。
如果b[]已存在,只是想求得其中元素个数的话,那恐怕做不到,除非你的数据有一定的特点,比如都是整数,而b[]初始化为全负,那么可以通过一个循环获得b数组的元素个数