From 191d9727e5415c7be28cb497aea39d71cc70fad2 Mon Sep 17 00:00:00 2001 From: phykf7bq3 <2740400883@qq.com> Date: Thu, 21 Dec 2023 16:56:22 +0800 Subject: [PATCH] ADD file via upload --- 124.txt | 445 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 445 insertions(+) create mode 100644 124.txt diff --git a/124.txt b/124.txt new file mode 100644 index 0000000..c8db437 --- /dev/null +++ b/124.txt @@ -0,0 +1,445 @@ +#include +#include +#include +#include +struct Student{ //每个学生对应一个结构体 + char ID[20];//学号 + char Name[10];//姓名 + float Mark1;//语文成绩 + float Mark2;//数学成绩 + float Mark3;//英语成绩 + float Mark4;//计算机成绩 + float All; //总分 + float Average;//平均成绩 +}students[1000]; +int num=0; //计数器 +void Copy(struct Student *arr,int i,int j) +{ + strcpy(arr[i].ID,arr[j].ID); + strcpy(arr[i].Name,arr[j].Name); + arr[i].Mark1 = arr[j].Mark1; + arr[i].Mark2 = arr[j].Mark2; + arr[i].Mark3 = arr[j].Mark3; + arr[i].Mark4 = arr[j].Mark4; + arr[i].All = arr[j].All; + arr[i].Average = arr[j].Average; +} +int Student_SearchByName(char name[])//通过姓名来检索学生 +{ + int i; + for (i=0;inum) { + printf("输入的位置有误,请重新输入,当前共%d条数据\n",num); + scanf("%d",&a);} + + b=num-1; + for(;b>=a-1;b--) + { + //strcpy(students[b+1].ID,students[b].ID); + //strcpy(students[b+1].Name,students[b].Name); + //students[b+1].Mark1=students[b].Mark1; + //students[b+1].Mark2=students[b].Mark2; + //students[b+1].Mark3=students[b].Mark3; + //students[b+1].Mark4=students[b].Mark4; + //students[b+1].All=students[b].All; + //students[b+1].Average=students[b].Average; + Copy(students,b+1,b); //根据其输入的位置,将其及以后的数据向后移动一个位置 + + } + num++; + printf("请输入学号:"); + scanf("%s",&students[a-1].ID); + getchar(); + printf("请输入姓名:"); + scanf("%s",&students[a-1].Name); + getchar(); + printf("请输入语文成绩:"); + scanf("%f",&students[a-1].Mark1); + getchar(); + printf("请输入数学成绩:"); + scanf("%f",&students[a-1].Mark2); + getchar(); + printf("请输入英语成绩:"); + scanf("%f",&students[a-1].Mark3); + getchar(); + printf("请输入计算机成绩:"); + scanf("%f",&students[a-1].Mark4); //输入新数据 + getchar(); + students[a-1].All=students[a-1].Mark1+students[a-1].Mark2+students[a-1].Mark3+students[a-1].Mark4; + students[a-1].Average=(students[a-1].Mark1+students[a-1].Mark2+students[a-1].Mark3+students[a-1].Mark4)/4; + +} +void search()//查询学生信息 +{ + while(1) + { + char name[20]; + int index; + printf("请输入要查询的学生的姓名:"); + scanf("%s",&name); + getchar(); + index=Student_SearchByName(name); //调用搜查name函数,根据其返回值确定位置 + if (index==-1) + { + printf("学生不存在!\n"); + } + else + { + printf("你要查询的学生信息为:\n"); + Student_DisplaySingle(index); + } + printf("是否继续?(y/n)"); + if (getchar()=='n') + { + break; + } + } +} +void sort()//根据平均分排序 +{ + int i,j; + //struct students tmp; + for (i=0;imax) + max=students[a].Mark1; + } + for(a=0;amax) + max=students[a].Mark2; + } + for(a=0;amax) + max=students[a].Mark3; + } + for(a=0;amax) + max=students[a].Mark4; + } + for(a=0;a