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
*/
C的数组是不可以动态增长,如果你不想使用链表,可以参考下面方法。
1、用malloc分配一块空间,比如int* a = (int*) malloc( 10*sizeof(int) )
然后可以当成好像是数组一样使用,比如a[2] = 5
2、然后你需要增长的时候,就用realloc( a, 20*sizeof(int))扩展空间。不过每一次扩展都会有一次拷贝,相当于分配一块新的空间,然后把原来的数据拷贝过去,所以数组大了以后,速度会很慢。
3、使用while(scanf("%d",&n)!=EOF){}语句,直达输入ctrl+z,结束输入,例如:
#include <stdio.h>int main()
{
int a
while(scanf("%d",&a)!=<a href="https://www.baidu.com/s?wd=EOF&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3njT1nARzrH9bn10vmvck0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3En1nzPWTzrH01" target="_blank" class="baidu-highlight">EOF</a>){
printf("输出:%d\n",a)
}
return 0
}
/*
运行结果:
54
输出:54
5156
输出:5156
21
输出:21
^Z
*/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)