C语言结构体

/* Note:Your choice is C IDE */
//有n个结构体变量,内含学生学号、姓名和3门课程的成绩。
//要求输出平均成绩最高的学生的信息(包括学号、姓名、3门课程成绩和平均成绩)。
#include "stdio.h"
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu[]);
#define n 3
struct Student{
		int num;//学号
		char name[30];//名字;char类型的scanf不用加&
		int score[3];//成绩
		float ave;};
int m=0;
int main()
{struct Student stu[n],*p=stu;//定义结构体数组stu[],p是指向结构体的指针
	input(p);//输入函数
	max(p);//寻找函数
	print(p);//输出函数
	 return 0;}
void input(struct Student stu[]){//输入学生信息
	int i;
	printf("请输入学生学号、姓名和3门课程的成绩\n");
	for(i=0;i<n;i++){
	scanf("%d %s %d %d %d",&stu[i].num,stu[i].name,&stu[i].score[0],
	&stu[i].score[1],&stu[i].score[2]);
	//求出每位学生的平均成绩
	stu[i].ave=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
	}
	}
struct Student max(struct Student stu[]){//找出学生中平均成绩的最大值
	int i;
	for(i=0;i<n;i++){
	if(stu[i].ave>stu[m].ave){
	m=i;
	}
	}
	return stu[m];
	}
void print(struct Student stu[]){//输出最大平均值值学生的信息
	printf("%d %s %d %d %d %f",
	stu[m].num,stu[m].name,stu[m].score[0],
	stu[m].score[1],stu[m].score[2],stu[m].ave);
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值