1个回答
展开全部
#define N 10 //共10个学生
#include <stdio.h>
struct Student{
int Sno;
char Name[20];
int Sc1,Sc2,Sc3;
int Sum;
float Avg;
};
int score(struct Student *p,int id,int sc){
if (sc==1) return p[id].Sc1;
if (sc==2) return p[id].Sc2;
if (sc==3) return p[id].Sc3;
return -1;
}
int maxid(struct Student *p,int n){
int i,Maxid=0;
for(i=1;i<n;i++)
if (p[i].Sum>p[Maxid].Sum) Maxid=i;
return Maxid;
}
float Average(struct Student *p,int n,int sc){
int i,sum=0;
for(i=1;i<n;i++)
sum+=score(p,i,sc);
return 1.0*sum/n;
}
int main()
{
int i,Maxid;
struct Student student[N];
for(i=0;i<N;i++){
scanf("%d%s%d%d%d",&student[i].Sno,student[i].Name,&student[i].Sc1,&student[i].Sc2,&student[i].Sc3);
student[i].Sum=student[i].Sc1+student[i].Sc2+student[i].Sc3; //各个学生的总分
student[i].Avg=student[i].Sum/3.0; //各个学生的平均分
}
//求各科平均分
for(i=1;i<=3;i++)
printf("%0.2f ",i,Average(student,N,i));
printf("\n");
//显示最高分学生详细信息
Maxid=maxid(student,N);
printf("%d %s %d %d %d\n",student[Maxid].Sno,student[Maxid].Name,student[Maxid].Sc1,student[Maxid].Sc2,student[Maxid].Sc3);
}
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询