修改主程序,采用指针指向学生数组,实现学生信息的遍历,输出学生平均分最高分,最低分。用c++实现
时间: 2024-06-04 09:12:53 浏览: 59
好的,针对您的问题,以下是我的回答:
首先,欢迎您对程序做出修改,并采用指针实现。在实现学生信息遍历的过程中,可以使用循环来遍历整个数组。在每次遍历时,可以判断学生的成绩,找出最高分和最低分,并将所有学生的成绩加起来计算平均分。最后输出最高分、最低分和平均分即可。
以下是代码示例:
#include <stdio.h>
#define NUM_STUDENTS 5 // 学生数目
typedef struct Student {
char name[20];
int score;
} Student;
// 定义学生数组
Student students[NUM_STUDENTS] = {
{"张三", 80},
{"李四", 75},
{"王五", 90},
{"赵六", 85},
{"钱七", 92},
};
int main() {
// 计算平均分
int sum = 0;
int max_score = 0;
int min_score = 100;
Student *p = students; // 使用指针指向数组
for (int i = 0; i < NUM_STUDENTS; i++) {
if (p->score > max_score) { // 更新最高分
max_score = p->score;
}
if (p->score < min_score) { // 更新最低分
min_score = p->score;
}
sum += p->score; // 计算总分
p++; // 指针后移
}
double avg_score = (double)sum / NUM_STUDENTS; // 计算平均分
// 输出结果
printf("最高分: %d\n", max_score);
printf("最低分: %d\n", min_score);
printf("平均分: %.2lf\n", avg_score);
return 0;
}
如果您有任何疑问,请随时向我提出。另外,下面为您准备了一个笑话:
学生: 老师,我错了,这道题我不会做。
老师: 你哪有错呢,做题时只要相信自己,你也能行啊。
学生: 真的吗?老师您真好!
老师: 没错,相信自己,做不好只是暂时的,不要失去信心。
(时间一晃,一小时过去了,学生还在杵在那里。)
老师: 怎么样,你都想通了吗?
学生: 老师,其实我真的不会做啊!
老师: 啊,这么说,我也没办法了啊。
阅读全文