C语言-学生信息管理(利用结构体、函数和指针)

**1.任务:**运用结构体、函数与指针,储存操作N个学生的信息(学号、姓名与成绩、平均分),并输出平均成绩最高的学生的信息。
2.功能函数:

  • Input()函数:输入数据和求各个学生的平均成绩
  • Max()函数:搜索平均成绩最高的学生
  • Print()函数:输出平均成绩最高的学生的信息

3.运行结果:
C语言-学生信息管理(利用结构体、函数和指针)_第1张图片
4.源程序:

#include
#define N 3//设定学生人数
#define K 3//设定学科数目
struct Student//定义结构体类型
{
	int num;//学号
	char name[20];//姓名
	float score[K];//成绩
	float aver;//平均分
};
struct Student stu[N];//定义结构体类型的数组
struct Student *p;//定义结构体类型指针
int main()
{
	void Input();//函数声明
	int Max();
	void Print(int n);
	int n;
	Input();
	n=Max();
	Print(n);
	return 0;
}


/**********输入函数,完成输入与平均值的计算**********/
void Input()
{
	printf("请输入学生信息,学号、姓名、成绩:");
	for(p=stu;pnum),p->name,&(p->score[0]),&(p->score[1]),&(p->score[2]));//注意p->name本身就是地址
		p->aver=((p->score[0])+(p->score[1])+(p->score[2]))/3;
	}
}


/**********最大值函数**********/
int Max()
{
	int i;
	float max;
	p=stu;
	max=p->aver;//以stu[0].aver为比较的最初对象
	for(i=0;paver)>max)
		{
			max=p->aver;
			i++;//计数
		}
	}
	return i;
}


/**********输出函数**********/
void Print(int n)
{
	p=stu+n;//定位最高的平均分
	printf("成绩最高学生的信息为:\n");
	printf("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",p->num,p->name,p->score[0],p->score[1],p->score[2],p->aver);
}

你可能感兴趣的:(C语言程序设计)