#include <stdio.h>
#include <stdlib.h>
//不能使用数组,但是可以用malloc生成一串连续的存储单元
typedef struct StuInfo
{
int grades;
int stu_id;
}StuInfo;
int main()
{
int N;//输入的学生人数
StuInfo *buffer = NULL;//指向连续的存储空间
int i = 0;
int sum = 0;
int averge = 0;
scanf("%d", &N);
printf("%d\n", N);
buffer =(StuInfo *)malloc(sizeof(StuInfo) * N);
//输入学生信息,并统计学生成绩的总和
for (i = 0 ; i < N; i++)
{
printf("Enter student information inluding grades and stu_id.\n");
scanf("%d%d", &((buffer + i)->grades), &((buffer + i)->stu_id));
sum += (buffer + i)->grades;
}
averge = sum / N;//计算学生的平均值
//求大于平均分的学生的成绩,并输入成绩和学号
for (i = 0; i < N; i++)
{
if ((buffer + i)->grades >= averge)
{
printf("%d %d\n", (buffer + i)->grades, (buffer + i)->stu_id);
}
}
}