c语言,如何将键盘输入的n个整数存入一个数组中,n的大小未知

2024-12-01 17:47:46
推荐回答(5个)
回答1:

1、可以预先定义足够大的数组(浪费在所难免),然后将键盘输入的整数存入数耐敬组,并累计数据个数。
...................................................................
int i,n = 0,a[1024]
while(1) {
printf("输入掘蚂整数(q: 结束输入过程)%d : ", n + 1);
if(scanf("",&a[n]) != 1) break;
++n;
}
for(i = 0; i < n; ++i) printf("%d ",a[i]);
printf("\n");
.............................................................
2、动态申请空间
.................................................................
#include
int i,n,*a;
printf("数据个数 : ");
scanf("%d",&n);
a = (int *)malloc(n * sizeof(int));
for(ii = 0; i < n; ++i) {
printf("数%d = ",i + 1);
scanf("%d",&a[i]);
}
for(i = 0; i < n; ++i) printf("%d ",a[i]);
printf("\n");
.........................................................
delete a; // 程序判亩埋结束前要释放动态内存

回答2:

这样来实现
#include
void main()
{
int a[50];
int i=0,j=0;
printf("请输晌滚漏入数据,中间宴烂用空格备茄间隔,用回车结束输入:\n");
do
{
scanf("%d",&a[i++]);
}while(getchar()!='\n');
for(j=0;j {
printf("%3d",a[j]);
j++;
if(j%5==0)
printf("\n");
}
printf("\n");
}

回答3:

你要把n个整数依次存入数组,有多种方法,如果一个一个输入,循环的终止条件必定要设立一个标志位的,就像你输谈虚空入一个字符串要有\0结尾一样,一个程誉碰序的确定性是程序运行的前提,计算机只能认识你输入的东西,你要告诉它你含瞎结束了,就要让它从你的输入中找到记号。

回答4:

#include
#define MAXN 1000
int main ()
{
int num[MAXN];
int id = 0;
while (scanf("%d",&num[id])!=EOF)
{
id ++ ;
}
int i;
for(i=0;i {
printf("%d "慧坦培信备,num[i]);
}
printf("\n");
return 0;
}
可以采用文件结束为结束位置,输入ctrl+z,回车结束输前唯入n个数

回答5:

int a[100];//看你的需要来好旦确祥猛定数组大小
int i,n;(n要是确定的数就不要定义不要输入 直接谨袜桥用)
scanf("%d",&n);
for(i=0;iscanf("%d",&a[i]);