m0_75020004 2023-03-12 21:29 采纳率: 62.5%
浏览 15
已结题

在哪里可以用指针呢?


#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;
}
  • 写回答

4条回答 默认 最新

  • MarkHan_ 2023-03-12 21:37
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    在这个C++代码中,有一个结构体(struct student)定义了学生的属性,包括学号、姓名、三门课程的成绩和三门课程平均成绩。在主函数中,使用了指针(arr指向student数组)来存储学生的信息,通过指针可以修改数组元素的值,比如输入学生的学号、姓名及三门课的成绩,计算三门课程平均成绩,并将平均成绩最高的学生记录下来。
    ·
    具体来说,在adname函数中,使用指针arr指向student数组,循环为每个学生设置姓名。在主函数中,循环输入每个学生的三门课成绩,并计算平均成绩。使用指针x和max记录平均成绩最高的学生的下标和平均成绩,最后打印出平均成绩最高的学生记录。
    ·
    因此,在这个代码中,指针的使用包括指向student数组和指向变量x和max,可以用指针来修改和读取它们的值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月12日

悬赏问题

  • ¥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代码和思路