永发信息网

用C语言编写一个程序,实现10个学生的5门课程

答案:3  悬赏:30  手机版
解决时间 2021-05-15 21:51

要求(1)每个学生的平均分。

(2)每门课程的平均分。

(3)找出最高分数所对应的学生

最佳答案

#include <stdio.h>
struct students
{


char name[15];
float English;
float Math;
float dili;
float shengwu;
float yuwen;


}Member[10];
void averagescore(float score[])
{


for(int i=0;i<10;i++)
printf("第%d个学生的平均分是:%.2f\n",i+1,score[i]);
}
void Max(float score[])
{


float Max1=0;
int M;
for(int i=0;i<10;i++)
if(score[i]>Max1)
{
Max1=score[i];
M=i;
}
printf("最高分的学生姓名是:%s\n",Member[M].name);
}
int main()
{
float average[10],English=0,Math=0,shengwu=0,dili=0,yuwen=0;
for(int i=0;i<10;i++)
{


printf("第%d个学生的姓名:",i+1);
scanf("%s",Member[i].name);
printf("English:");
scanf("%f",&Member[i].English);
English+=Member[i].English;
printf("Math:");
scanf("%f",&Member[i].Math);
Math+=Member[i].Math;
printf("dili:");
scanf("%f",&Member[i].dili);
dili+=Member[i].dili;
printf("Shengwu:");
scanf("%f",&Member[i].shengwu);
shengwu+=Member[i].shengwu;
printf("Yuwen:");
scanf("%f",&Member[i].yuwen);
yuwen+=Member[i].yuwen;
average[i]=(Member[i].English+Member[i].Math+Member[i].dili+Member[i].shengwu+Member[i].yuwen)/3;


}
start:int shuzi=0;
printf(" =---------------------功能选项---------------------=\n");
printf(" 1.每个学生的平均分\n");
printf(" 2.每门课程的平均分\n");
printf(" 3.分数最高的学生:\n");
printf("请输入选项:");
scanf("%d",&shuzi);
switch(shuzi)
{


case 1:
averagescore(average);
break;
case 2:
printf("英语平均分是:%f\n数学评分是:%f\n地理平均分是:%f\n生物平均分:%f\n语文平均分是:%f\n",English/10,Math/10,dili/10,shengwu/10,yuwen/10);
break;
case 3:
Max(average);
break;
default:
printf("输入错误!请重新输入:\n");



}
goto start;


}


有什么不合适的地方追问,我加入个输入成绩的过程!然后以下就是那三项功能!

全部回答

用结构体实现一个学生的信息,包括姓名和五门课的成绩,然后就实现两个函数 一个找最大值  一个求平均值的函数。

这是我以前写给别人的。

你可以借鉴一下,这是5个学生3门课程的情况,

你可以稍作修改。功能是全的:c语言

代码:

#include<stdio.h>

#include <stdlib.h>

struct student { char name[20]; int kor; int eng; int mat; int tol; double ave; };

void main() { student stu[5]={ {"lisa",80,90,100,0,0.0}, {"chuck",95,70,75,0,0.0}, {"Jim",75,70,95,0,0.0}, {"joe",65,85,55,0,0.0}, {"david",80,75,95,0,0.0} };

int i; //求每个人总分和平均分 for(i=0;i<5;i++) { stu[i].tol=stu[i].kor+stu[i].eng+stu[i].mat; stu[i].ave=(double)stu[i].tol/3; } //结果输出 printf("Result Output:\n"); printf("name\tkor\teng\tmat\ttol\tave\n"); for(i=0;i<5;i++) { printf("%s\t%d\t%d\t%d\t%d\t%f\n",stu[i].name,stu[i].kor,stu[i].eng,stu[i].mat,stu[i].tol,stu[i].ave);} //求这些人中平均分最高和最低的 double X=stu[0].ave,Y=stu[0].ave; int max=0,min=0;//记录First和last的学生序号 for(i=1;i<5;i++) { if(X<=stu[i].ave){X=stu[i].ave; max=i;} if(Y>=stu[i].ave){Y=stu[i].ave; min=i;} } //结果输出 printf("first:%s\n",stu[max].name); printf("last:%s\n",stu[min].name);

}

执行结果:

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
散打和拳击哪个厉害
我太阳穴下面有痘痘、怎么引起的?该怎样祛除
节约用水用电标语,节约用电,节约用水,讲文
武汉汉口什么理发店烫染减都比较好的?
浉河区信阳乡村人家地址在哪,我要去那里
DNF中散打怎样PK
华硕主板插独显
从湖塘乐购打的到常州红梅公园要多少钱
德能勤绩廉个人评语,公务员在德能勤绩廉五方
沙岭车站到福田客运站的座什么车
天心区长沙没有吧地址在哪,我要去那里
用红色的里布不够用其他的颜色代替可以吗?的
i miss you 这首歌 唱现场的时候下边做的是谁
有没有人会弄HTC 6800机子的?谢谢了!
老是有黑眼圈怎么办?
推荐资讯
温县焦作中国联通(温泉营业厅)地址在什么地方
洪山区武汉芙蓉兴盛超市地址是什么,有没有知
买摩托车需要跟卖家办什么样的手续,或相关的
时空穿越、回、三国演
dnf漫游觉醒需要加满么?不加满要加到几?
萨尔图区大庆昊晟打印社地址在哪,我要去那里
怀孕7个多月了,老是胃酸.胃痛.怎么回事啊
跨校专升本考完后去下个学校上学前的那半年都
青海位于中国哪个方向,青海省位于中国的哪个
无忧一键重装系统好不好用啊
电脑制作视频工具
阿城区哈尔滨中国信合(阿什河信用社)地址是什
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?