有n个结构体变量,内含学生学号、姓名、3门课程的成绩,要求输出平均成绩最高的学生信息

//有n个结构体变量,内含学生学号、姓名、3门课程的成绩,要求输出平均成绩最高的学生信息(学号、姓名、三门课成绩、平均成绩) 
#include <stdio.h>
typedef struct stu_info{
	int num;
	char name[20];
	float grade[3];
	float ave;
}Student;
int main(void){
	Student stu[5];
	int i,j,max = 0;
	float sum;
	for(i=0;i<5;i++){
		sum = 0.0;
		scanf("%d %s",&stu[i].num,stu[i].name);
		for(j=0;j<3;j++){
			scanf("%f",&stu[i].grade[j]);
			sum += stu[i].grade[j];
		}
		stu[i].ave = sum/3.0;
	
	}
	for(i=max+1;i<5;i++){
		if(stu[i].ave>stu[max].ave){
			max = i;
		}
	}
	printf("the best is:%d %s %.2f %.2f %.2f %.2f",stu[max].num,stu[max].name,stu[max].grade[0],stu[max].grade[1],stu[max].grade[2],stu[max].ave);
	return 0;
}



  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过遍历所有学生成绩,计算每个学生平均成绩并记录最高平均成绩学生信息,最后输出学生信息即可。示例代码如下: ```c #include <stdio.h> #include <string.h> #define MAX_STUDENT 100 struct Student { char id[20]; // 学号 char name[20]; // 姓名 double score1; // 第一课程成绩 double score2; // 第二课程成绩 double score3; // 第课程成绩 double avg; // 平均成绩 }; int main() { struct Student students[MAX_STUDENT]; int n, i, max_index; double max_avg = 0; printf("请输入学生人数:"); scanf("%d", &n); // 输入所有学生信息 for (i = 0; i < n; i++) { printf("请输入第%d个学生的信息:\n", i + 1); printf("学号:"); scanf("%s", students[i].id); printf("姓名:"); scanf("%s", students[i].name); printf("第一课程成绩:"); scanf("%lf", &students[i].score1); printf("第二课程成绩:"); scanf("%lf", &students[i].score2); printf("第课程成绩:"); scanf("%lf", &students[i].score3); // 计算平均成绩 students[i].avg = (students[i].score1 + students[i].score2 + students[i].score3) / 3; } // 查找平均成绩最高学生 for (i = 0; i < n; i++) { if (students[i].avg > max_avg) { max_avg = students[i].avg; max_index = i; } } // 输出平均成绩最高学生信息 printf("平均成绩最高学生信息如下:\n"); printf("学号:%s\n", students[max_index].id); printf("姓名:%s\n", students[max_index].name); printf("第一课程成绩:%.2lf\n", students[max_index].score1); printf("第二课程成绩:%.2lf\n", students[max_index].score2); printf("第课程成绩:%.2lf\n", students[max_index].score3); printf("平均成绩:%.2lf\n", students[max_index].avg); return 0; } ``` 该示例代码定义了一个 `Student` 结构体包含学生学号姓名课程成绩,以及计算平均成绩的函数。在主函数中,先输入所有学生的信息,并计算每个学生平均成绩。然后,遍历所有学生平均成绩,找到最高平均成绩学生信息,最后输出学生信息即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值