#include<stdio.h>
#include<malloc.h>
int main()
{
int number; //学生人数
int *score; //动态数组的首地址
int sum=0,ave; //成绩和
int i;
//输入学生人数,为动态数组score分配合适大小的空间
printf("输入学生人数: ");
scanf("%d", &number);
score = (int*)malloc(sizeof(int)*number);
//读入学生成绩,并求出成绩和
printf("输入这 %d 名学生的成绩: ", number);
for (i=0; i<number; i++)
{
scanf("%d",&score[i]); //或scanf("%d",(score+i));
sum += *(score+i);
}
//求平均成绩
ave = sum/number;
//输出高于平均分的学生的学号(即序号)和成绩
printf("平均分是 %d,高于平均分的学生为: \n", ave);
for (i=0; i<number; i++)
if(*(score+i)>ave)
printf("%d %d\n", i, *(score+i));
//释放动态分配的空间
free(score);
return 0;
}
动态数组的应用
最新推荐文章于 2023-10-19 09:48:28 发布