算法训练 动态数组使用
时间限制:1.0s 内存限制:512.0MB
从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出。要求尽可能使用函数实现程序代码。平均值为小数的只保留其整数部分。
样例输入:
5
3 4 0 0 2
样例输出:
9 1
样例输入:
7
3 2 7 5 2 9 1
样例输出:
29 4
#include<stdio.h>
#include<stdlib.h> //堆内存管理的函数在此头文件中int main()
{
int *p,n;/* 5 ——sum没有初值时的情况
3 4 0 0 2
10 2
5 ——sum初值为0时的情况
3 4 0 0 2
9 1*/
scanf("%d",&n);
int i;
p=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++)
scanf("%d",&p[i]);
int sum=0,ave;
for(i=0;i<n;i++)
sum+=p[i];
ave=sum/n;
printf("%d %d",sum,ave);
free(p); //没有这个似乎没有影响,但我想是因为程序十分简单,数据量较小的原因
return 0;
}