From f1a346d8ea175d05a2acf8e3cee3a98a8dc9b763 Mon Sep 17 00:00:00 2001 From: p6twphb5c <1281646536@qq.com> Date: Mon, 13 Nov 2023 22:02:29 +0800 Subject: [PATCH] ADD file via upload --- E2.step8.c | 372 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 372 insertions(+) create mode 100644 E2.step8.c diff --git a/E2.step8.c b/E2.step8.c new file mode 100644 index 0000000..074b849 --- /dev/null +++ b/E2.step8.c @@ -0,0 +1,372 @@ +#include +#include +struct Student +{ + int num; + int sclass; + char name[5]; + float mark1; + float mark2; + float mark3; +}; +struct Student stu[7]={{10001,11,"Zhang",99.5,88.5,89.5},{10002,12,"Yang",77.9,56.5,87.5},{10003,11,"Liang",92.5,99.0,60.5},{10004,11,"Cai",89.6,56.9,90.5},{10005,14,"Fu",55.6,67.9,98.9},{10006,12,"Mao",22.1,45.9,99.2},{10007,13,"Zhan",35.6,67.9,88.0}}; + +int main() +{ + void Sclass(struct Student stu[]); + void Snum(struct Student stu[]); + void Sname(struct Student stu[]); + void Smark(struct Student stu[]); + void Intergrate(struct Student stu[]); + struct Student *p=stu; + char input; + scanf("%c",&input); + if(input=='1') + { + Sclass(p); + } + else if(input=='2') + { + Snum(p); + } + else if(input=='3') + { + Sname(p); + } + else if(input=='4') + { + Smark(p); + } + else if(input=='5') + { + Intergrate(p); + } + return 0; +} + +void Sclass(struct Student stu[]) +{ + char input[10]; + struct Student slc[7]; + struct Student temp; + gets(input); + int i,j,k; + if(input[3]=='-') + { + k=0; + for(j=0;j<7;j++) + { + if((stu[j].sclass>=input[2]-38)&&(stu[j].sclass<=input[5]-38)) + { + slc[k]=stu[j]; + k++; + } + } + } + else + { + k=0; + for(j=0;j<7;j++) + { + if(stu[j].sclass==input[2]-38) + { + slc[k]=stu[j]; + k++; + } + } + } + for(i=k-1;i>=0;i--) + { + for(j=0;jslc[j+1].sclass) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + else if(slc[j].sclass==slc[j+1].sclass) + { + if((slc[j].mark1+slc[j].mark2+slc[j].mark3)<(slc[j+1].mark1+slc[j+1].mark2+slc[j+1].mark3)) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + } + } + } + for(i=0;i=10000+input[5]-48)&&(stu[j].num<=10000+input[11]-48)) + { + slc[k]=stu[j]; + k++; + } + } + } + else + { + k=0; + for(j=0;j<7;j++) + { + if(stu[j].num==10000+input[5]-48) + { + slc[k]=stu[j]; + k++; + } + } + } + for(i=k-1;i>=0;i--) + { + for(j=0;jslc[j+1].sclass) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + else if(slc[j].sclass==slc[j+1].sclass) + { + if((slc[j].mark1+slc[j].mark2+slc[j].mark3)<(slc[j+1].mark1+slc[j+1].mark2+slc[j+1].mark3)) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + } + } + } + for(i=0;i=0;i--) + { + for(j=0;jslc[j+1].sclass) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + else if(slc[j].sclass==slc[j+1].sclass) + { + if((slc[j].mark1+slc[j].mark2+slc[j].mark3)<(slc[j+1].mark1+slc[j+1].mark2+slc[j+1].mark3)) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + } + } + } + for(i=0;i((input[1]-48)*10+input[2]-48+(input[4]-48)*0.1)) + { + slc[k]=stu[j]; + k++; + } + } + } + else if(input[4]=='.') + { + for(j=0;j<7;j++) + { + if((stu[j].mark1+stu[j].mark2+stu[j].mark3)>((input[1]-48)*100+(input[2]-48)*10+input[3]-48+(input[5]-48)*0.1)) + { + slc[k]=stu[j]; + k++; + } + } + } + for(i=k-1;i>=0;i--) + { + for(j=0;jslc[j+1].sclass) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + else if(slc[j].sclass==slc[j+1].sclass) + { + if((slc[j].mark1+slc[j].mark2+slc[j].mark3)<(slc[j+1].mark1+slc[j+1].mark2+slc[j+1].mark3)) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + } + } + } + for(i=0;i=10000+input[i+5]-48)&&(stu[j].num<=10000+input[i+11]-48)&&(stu[j].sclass>=input[i-4]-38)&&(stu[j].sclass<=input[i-1]-38)) + { + slc[k]=stu[j]; + k++; + } + else if((stu[j].num>=10000+input[i+5]-48)&&(stu[j].num<=10000+input[i+11]-48)&&(stu[j].sclass==input[i-1]-38)) + { + slc[k]=stu[j]; + k++; + } + } + break; + } + } + for(i=k-1;i>=0;i--) + { + for(j=0;jslc[j+1].sclass) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + else if(slc[j].sclass==slc[j+1].sclass) + { + if((slc[j].mark1+slc[j].mark2+slc[j].mark3)<(slc[j+1].mark1+slc[j+1].mark2+slc[j+1].mark3)) + { + temp=slc[j]; + slc[j]=slc[j+1]; + slc[j+1]=temp; + } + } + } + } + for(i=0;i