c语言程序设计,2题80分
来源:百度知道 编辑:UC知道 时间:2024/09/24 01:16:57
2.有10个学生,每个学生的数据包括学号、姓名、三门课的成绩。要求:
(1)键盘输入10个学生数据;
(2)计算三门课的平均成绩;
(3)输出三门课中最高分学生的数据;
(4)找出平均成绩在85分以上或者全部课程成绩在80分以上的学生。
2题请务必都编出来,最好自己编译过没错误的再发上来,谢谢,不会做的请不要说话,要水可以去水其他人的问题,别水我的.
请高手编下,急用,再次感谢
2楼的第一题貌似有一个小错误...希望改下.第二题我自己改了~
第1题已经针对VC++6.0做了适应性修改,问题出在:
st=realloc(st,sizeof(student)*(*n+1));
这一句,VC++6.0不自动转换类型,必须进行强制转换:
st=(student *)realloc(st,sizeof(student)*(*n+1));
与程序算法无关,是编译器特性的问题,我是在BCB2007中测试的,原程序没有问题。
*********************************************************
1.
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int id;
int age;
float sou;
} student;
void find(student a[],const int n,int age)
{
int i,count=0;
float sum=0;
for (i = 0; i<n; i++) {
if (age==a[i].age) {
printf("ID:%d\nAge:%d\nScore:%g\n\n",a[i].id,a[i].age,a[i].sou);
sum+=a[i].sou;
++count;
}
}
printf("COUNT:%d\nAverage:%g\n",count,sum/count);
}
student *create(int *n)
{