1.
nclude<stdio.h>
#include"9.h"
int main(int argc, const char *argv[])
{
struct my_class class1;
class1.len=0;
for(;;){
struct Stu k;
printf("请输入要录入学生的学号:");
scanf("%d",&k.num);
printf("请输入要录入学生的姓名:");
scanf("%s",k.name);
printf("请输入要录入学生的分数:");
scanf("%lf",&k.score);
//调用函数
add(&class1,k); //调用添加函数
char judge;
printf("是否继续录入学生的信息(N|Y):");
getchar();
scanf("%s",&judge);
if(judge=='n'||judge=='N'){
break;
}
}
//调用求最高分的函数
my_max(class1.s,class1.len);
//调用排序函数
my_sort(class1.s,class1.len);
//输出信息
printf("目前班级学生的信息如下:\n");
printf("学号\t姓名\t\t分数\n");
for(int i=0;i<class1.len;i++){
printf("%d\t%s\t\t%.2lf\n",class1.s[i].num,class1.s[i].name,class1.s[i].score);
}
return 0;
}
2.
#include<stdio.h>
#include"9.h"
void add(struct my_class *c,struct Stu k){
//判满操作
if(c->len>=MAX){
printf("添加失败\n");
return;
}
//将学生的信息放入到班级
c->s[c->len]=k;
c->len++;
printf("添加成功\n");
}
//求最高分
void my_max(struct Stu *p,int n){
struct Stu max=p[0];
for(int i=0;i<n;i++){
if(max.score<p[i].score){
max=p[i];
}
}
printf("最高分的信息:学号:%d,姓名:%s,成绩:%.2lf\n",max.num,max.name,max.score);
}
//排序函数
void my_sort(struct Stu *p,int len){
double temp=0;
for(int i=0;i<len-1;i++){
for(int j=0;j<len-i-1;j++){
if((p+j)->score>(p+j+1)->score){
temp=(p+j)->score;
(p+j)->score=(p+j+1)->score;
(p+j+1)->score=temp;
}
}
}
}
3.
#include"9.h"
int main(int argc, const char *argv[])
{
struct my_class class1;
class1.len=0;
for(;;){
struct Stu k;
printf("请输入要录入学生的学号:");
scanf("%d",&k.num);
printf("请输入要录入学生的姓名:");
scanf("%s",k.name);
printf("请输入要录入学生的分数:");
scanf("%lf",&k.score);
//调用函数
add(&class1,k); //调用添加函数
char judge;
printf("是否继续录入学生的信息(N|Y):");
getchar();
scanf("%s",&judge);
if(judge=='n'||judge=='N'){
break;
}
}
//调用求最高分的函数
my_max(class1.s,class1.len);
//调用排序函数
my_sort(class1.s,class1.len);
//输出信息
printf("目前班级学生的信息如下:\n");
printf("学号\t姓名\t\t分数\n");
for(int i=0;i<class1.len;i++){
printf("%d\t%s\t\t%.2lf\n",class1.s[i].num,class1.s[i].name,class1.s[i].score);
}
return 0;
}