大一上机布置的 不可以用网上的代码 要自己写 还得像初学者不能那么老练 上学期C语言一点没学 有错误也没关系!不用太完美 只要求个及格!!这周就要交有点急!




大一上机布置的 不可以用网上的代码 要自己写 还得像初学者不能那么老练 上学期C语言一点没学 有错误也没关系!不用太完美 只要求个及格!!这周就要交有点急!




【1】
#include <stdio.h>
#include <string.h>
//定义结构体类型
struct STUDENT
{
int id; //学号
float score; //成绩
};
//定义函数,找出成绩最高的学生记录,通过形参指针传回主函数
void fiun(struct STUDENT a[], int N, struct STUDENT *pmax)
{
int i, max = 0; //max用来保存最高分的下标
for(i = 1; i < N; i++)
{
if(a[i].score > a[max].score) //比较每个元素的成绩
{
max = i; //更新最高分的下标
}
}
*pmax = a[max]; //通过指针传回最高分的学生记录
}
//主函数
int main(void)
{
int N = 5; //假设有5名学生
struct STUDENT a[N]; //定义结构体数组,存放学生记录
struct STUDENT max; //定义结构体变量,存放最高分的学生记录
int i;
//从键盘输入学生记录
for(i = 0; i < N; i++)
{
printf("请输入第%d个学生的学号和成绩:", i + 1);
scanf("%d%f", &a[i].id, &a[i].score);
}
//调用函数,找出成绩最高的学生记录
fiun(a, N, &max);
//输出结果
printf("成绩最高的学生是:\n");
printf("学号:%d\n", max.id);
printf("成绩:%f\n", max.score);
return 0;
}
