这个动态数组怎样进一步完善?上题回答者谢谢:忘归箭0226 ,AlphaBlend,匿名,林明炉。

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:11:25
这是一个让我们先输入数组元素数目,再求和的C程序,如下:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
main()
{int n,i,sum=0;
int *a;
printf("enter the num of elements:");
scanf("%d",&n);
a=(int *)malloc(n*sizeof(int ));
for(i=0;i<n;i++) {
scanf("%d",&a[i]);
sum+=a[i]; }
printf("output:");

printf("%d",sum);
free(a);
getch();
return 0;
}
我想,当我输入的数>n时,程序就不能再输入数,只能输入n个数;
我也试过,老有错误。
http://zhidao.baidu.com/question/88014637.html,上一题。

谢谢 wlin328 - 见习魔法师,我的意思是,程序运行中,如n=3,我输入1 1 1 5,虽然它只计算前三个数,得出结果为3,但在要输入的时候还是可以输入四个数,我初学,呵呵!我想程序在运行时只能输入三个数。

这个程序是只能输入n个数啊!
for(i=0;i<n;i++) {
scanf("%d",&a[i]);
sum+=a[i]; }

i=n时就跳出循环 了
而输入函数scanf在循环体里,是受循环语句for控制次数的

所以只能而且也必须输入n个数

呵呵,我看明白你的补充了
那个不是程序的问题
是你输入操作的问题
你试试你每输入一个数之后用回车而不是空格

其实如果你输数字的时候按空格会一直这样输下去