c++程序设计从键盘输入n个学生的学号和成绩,计算他们的平均成绩,并列出成绩最好的前t名学生的学号和分数。
2023-12-17 22:29:24
从键盘输入n个学生的学号和成绩,计算他们的平均成绩,并列出成绩最好的前t名学生的学号和分数。要求:
- 使用new动态分配数组。
- n和t的值从键盘输入。
- 定义3个自定义函数:输入数据;计算平均成绩;输出前t个学生的学号和分数。
- 主函数调用自定义函数。 ??
3.编写自定义函数找出二维数组(3*4)中元素的最大值与最小值,并返回其最大值与最小值,并在main函数中测试结果。要求:
- 数组在main函数中使用随机函数获得赋值;
- 自定义函数返回类型为void;
- 输出结果在main函数中实
#include <iostream> #include <string> using namespace std; struct st { int num; //学号 float g; //成绩 }; void stuScanf(struct st student[], int n) { cout << "请依次输入学生的学号和分数:" << endl; for (int i = 0; i < n; i++) //输入学生得信息 { cin >> student[i].num; cin >> student[i].g; } } float stuMid(struct st student[], int n) { float mid = 0, sum = 0; for (int i = 0; i < n; i++) sum += student[i].g; mid = sum / n; return mid; } void stuPrint(struct st student[], int n, int t) //打印前t个学上的成绩 { struct st temp; //中间结构体变量 for (int k = 0; k < n; k++) //对所有学生得成绩排序 { for (int j = k + 1; j < n; j++) { if (student[j].g > student[k].g) { temp = student[k]; student[k] = student[j]; student[j] = temp; } } } for (int i = 0; i < t; i++) //输出前n个学生得成绩 { cout << student[i].num << "-" << student[i].g << endl; } } int main() { int n, t; cout << "请输入学生的人数:"; cin >> n; st* student = new st[n]; stuScanf(student, n); //输入学生学号和成绩 cout << "学生的平均成绩为:" << stuMid(student, n) << endl; cout << "请输入要排序的学生人数:"; cin >> t; stuPrint(student, n, t); //排序并输出前t名学生得成绩 }
文章来源:https://blog.csdn.net/toptopniba/article/details/135050922
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!