/*
*Copyright(c) 2015/5/31 CSDN博客
*All rights reserved.
*文件名称:main.c
*作 者:金叶
*完成日期:2015/5/31
*版本号:V1.0
*问题描述:项目1-学生人数没个准
*输入学生成绩,输出高于平均成绩的学生序号和成绩。
其中学生人数不定,可能10个,可能1000。在录入成绩之前,学生人数由键盘输入。
由于要先求出平均成绩,然后才能确定输出哪些学生的信息,所以需要一个数组先将学生信息保存下来。考虑学生人数不定,用动态数组是个更适合的方案
下面的程序结构供参考:
*/
#include<stdio.h>
#include<malloc.h>
int main()
{
int number; //学生人数
int *score; //动态数组的首地址
int sum=0,ave; //成绩和、均分
printf("输入学生人数:");
scanf("%d",&number);
score=(int *)malloc(sizeof(int)*number);
//输入学生人数,为动态数组score分配合适大小的空间
int i;
for (i=0;i<number;i++){
scanf("%d",score+i);
}
for (i=0;i<number;i++){
sum+=*(score+i);
}
ave=sum/number;
//读入学生成绩,并求出成绩和
//求平均成绩
for (i=0;i<number;i++){
if (*(score+i)>ave)
printf("成绩高于平均分的学生是%d\t 成绩为%d\t\n",i,*(score+i));
}
//输出高于平均分的学生的学号(即序号)和成绩
free(score);
//释放动态分配的空间
return 0;
}
提高第39课时,实践1,项目1-学生人数没个准
最新推荐文章于 2022-01-18 20:29:39 发布