#include<iostream>
#include<string>
using namespace std;
//4、一个班上有30名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。
//从键盘输入学生的学号、姓名及三门课的成绩。要求打印三门课程平均成绩最高分的学生记录(要求使用指针)。
struct student {
int num;
string name;
float score[3];
float average;
};
//创建数组存放五名学生
void adname(struct student arr[], int len) {
string nameseed = "ABCDE";
for (int i = 0; i < 5; i++) {
arr[i].name = "student_";
arr[i].name += nameseed[i];
}
}
int main() {
struct student arr[5];
adname(arr, 5);
int x = 0;
float max = 0;
for (int j = 0; j < 5; j++) {
cout << "请输入学生" << arr[j].name << "的三门课程的成绩:" << endl;
int n1, n2, n3;
cin >> n1 >> n2 >> n3;
arr[j].average = (n1 + n2 + n3) / 3;
if (arr[j].average > max) {
max = arr[j].average;
x = j;
}
}
cout << "平均分最高的为学生" << x+1 << "平均分为" << max << endl;
return 0;
}
在哪里可以用指针呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- MarkHan_ 2023-03-12 21:37关注
该回答引用GPTᴼᴾᴱᴺᴬᴵ
在这个C++代码中,有一个结构体(struct student)定义了学生的属性,包括学号、姓名、三门课程的成绩和三门课程平均成绩。在主函数中,使用了指针(arr指向student数组)来存储学生的信息,通过指针可以修改数组元素的值,比如输入学生的学号、姓名及三门课的成绩,计算三门课程平均成绩,并将平均成绩最高的学生记录下来。
·
具体来说,在adname函数中,使用指针arr指向student数组,循环为每个学生设置姓名。在主函数中,循环输入每个学生的三门课成绩,并计算平均成绩。使用指针x和max记录平均成绩最高的学生的下标和平均成绩,最后打印出平均成绩最高的学生记录。
·
因此,在这个代码中,指针的使用包括指向student数组和指向变量x和max,可以用指针来修改和读取它们的值。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥60 pb数据库修改或者求完整pb库存系统,需为pb自带数据库
- ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
- ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
- ¥20 神经网络Sequential name=sequential, built=False
- ¥16 Qphython 用xlrd读取excel报错
- ¥15 单片机学习顺序问题!!
- ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
- ¥15 相敏解调 matlab
- ¥15 求lingo代码和思路