C语言中怎么实现求三科成绩平均分并输出最高分
导读:相信很多人对“C语言中怎么实现求三科成绩平均分并输出最高分”都不太了解,下面小编为你详细解释一下这个问题,希望对你有一定的帮助 目录 列: 有n个结构体变量,内含学生的学号,学号,和三门成绩。要求输出平均成绩最高学生的信...
相信很多人对“C语言中怎么实现求三科成绩平均分并输出最高分”都不太了解,下面小编为你详细解释一下这个问题,希望对你有一定的帮助目录
列:
有n个结构体变量,内含学生的学号,学号,和三门成绩。要求输出平均成绩最高学生的信息(包括学号、姓名、三门课程成绩和平均成绩)
解题思路:
将n个学生的数据表示为结构体数组(有n个元素)。按照功能函数化的思想,小林分别用3个函数来实现不同的功能。
源代码演示:
#includestdio.h> //头文件 #define N 3//宏定义 struct student //学生类结构体 { int num; //学号 char name[20]; //姓名 float score[3]; //成绩 float aver; //平均分 } ; int main() //主函数 { void input(struct student s[]); //函数声明 struct student max(struct student s[]); //函数声明 void print(struct student s); //函数声明 struct student s[N],*p=s; //定义结构体变量 input (p); //调用函数 print(max(p)); //打印调用max函数结果 return 0; //主函数返回值为0 } void input(struct student s[])//自定义输入函数 { int i; //定义整型变量 printf("请输入各学生的信息:学号、姓名、三门课成绩:\n"); //提示语句 for(i=0; iN; i++)//循环N次 { scanf("%d %s %f %f %f",& s[i].num,& s[i].name,& s[i].score[0],& s[i].score[1],& s[i].score[2]); //输入信息 s[i].aver=(s[i].score[0]+s[i].score[1]+s[i].score[2])/3; //求平均值 } } struct student max(struct student s[])//自定义求最大值 { int i,m=0; //定义整型变量 for(i=0; iN; i++)//循环N次 { if(s[i].aver> s[m].aver)//把平均分大的i赋值给m { m=i; } } return s[m]; //将s[m]结果返回到函数调用处 } void print (struct student stud)//自定义打印函数 { printf("\n成绩最高的学生是:\n"); //提示语句 printf("学号;%d\n姓名;%s\n三门课成绩:%5.1f,%5.1f,%5.1f\n平均成绩:%6.2f\n", stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver); //输出结果 }
编译运行结果如下:
请输入各学生的信息:学号、姓名、三门课成绩:
10010 Tom 100 90 80
10011 Jon 80 70 100
10012 Kim 100 90 95
成绩最高的学生是:
学号;10012
姓名;Kim
三门课成绩:100.0, 90.0, 95.0
平均成绩: 95.00
--------------------------------
Process exited after 44.45 seconds with return value 0
请按
任意键继续. . .
以上就是关于“C语言中怎么实现求三科成绩平均分并输出最高分”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注网络,小编每天都会为大家更新不同的知识。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C语言中怎么实现求三科成绩平均分并输出最高分
本文地址: https://pptw.com/jishu/654874.html