2、输入2个学生的学号、姓名、语文成绩,要求求出2个学生的平均成绩,以及最高分的学生的数据(包括学号、姓名、语文成绩)。用指针实现
时间: 2023-12-16 13:58:53 浏览: 36
好的,这是一个有关学生成绩的问题,下面是使用指针实现的解决方案:
```c
#include <stdio.h>
struct Student {
int id;
char name[20];
int score;
};
int main() {
struct Student stu1, stu2;
struct Student *p1 = &stu1, *p2 = &stu2;
printf("请输入第一个学生的学号、姓名、语文成绩:\n");
scanf("%d %s %d", &stu1.id, stu1.name, &stu1.score);
printf("请输入第二个学生的学号、姓名、语文成绩:\n");
scanf("%d %s %d", &stu2.id, stu2.name, &stu2.score);
// 计算平均成绩
float average = (float)(p1->score + p2->score) / 2;
printf("两个学生的平均成绩为:%.2f\n", average);
// 找出最高分学生
struct Student *p;
if (p1->score > p2->score) {
p = p1;
} else {
p = p2;
}
printf("最高分学生的数据为:\n");
printf("学号:%d\n", p->id);
printf("姓名:%s\n", p->name);
printf("语文成绩:%d\n", p->score);
return 0;
}
```
以上代码中,我们使用了结构体存储学生数据,并使用了指针来操作结构体。通过指针,我们可以方便地访问结构体成员,进行平均成绩的计算和最高分学生的查找。
希望这个使用指针实现的解决方案能够帮助到你。
阅读全文
相关推荐


















