From a1a21de014d59679bdaaae97e450b579b9317c44 Mon Sep 17 00:00:00 2001 From: p9r5svm3g <2687957063@qq.com> Date: Sat, 11 Nov 2023 14:50:57 +0800 Subject: [PATCH] ADD file via upload --- program 7.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 program 7.c diff --git a/program 7.c b/program 7.c new file mode 100644 index 0000000..01858be --- /dev/null +++ b/program 7.c @@ -0,0 +1,111 @@ +#include +#include +struct stu +{ + int num,c; + char name[20]; + float m,p,e; +}; + +struct stu 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}}; + + +void a1() +{int to,from,i; +scanf("%d-%d",&from,&to); +for(i=0;i<7;i++) if(from<=stu[i].c&&stu[i].c<=to) printf("%d %d %s %.1f %.1f %.1f\n",stu[i].num,stu[i].c,stu[i].name,stu[i].m,stu[i].p,stu[i].e); +} + +void a2() +{int to,from,i; +scanf("%d-%d",&from,&to); +for(i=0;i<7;i++) if(to<=stu[i].num&&stu[i].num<=from) printf("%d %d %s %.1f %.1f %.1f\n",stu[i].num,stu[i].c,stu[i].name,stu[i].m,stu[i].p,stu[i].e); +} + +void a3() +{ + int i,j; + char n[20]; + scanf("%s",n); + for(i=0;i<7;i++) + { + j=0; + while(n[j]!='*'&&stu[i].name[j]==n[j]) j++; + if(n[j]=='*') printf("%d %d %s %.1f %.1f %.1f\n",stu[i].num,stu[i].c,stu[i].name,stu[i].m,stu[i].p,stu[i].e); + } +} + +void a4() +{ + int i; + float lim,s; + scanf("%d",&lim); + for(i=0;i<7;i++) + { + s=stu[i].m+stu[i].p+stu[i].e; + if(s>=lim) printf("%d %d %s %.1f %.1f %.1f\n",stu[i].num,stu[i].c,stu[i].name,stu[i].m,stu[i].p,stu[i].e); + } +} + +void a5() +{ + int cl,to,from,i; + scanf("%d.%d-%d",&cl,&from,&to); + for(i=0;i<7;i++) + { + if(stu[i].c==cl&&from<=stu[i].num&&stu[i].num<=to) + { + printf("%d %d %s %.1f %.1f %.1f\n",stu[i].num,stu[i].c,stu[i].name,stu[i].m,stu[i].p,stu[i].e); + } + } +} +void min(struct stu *stu,int n) +{ + int i,j; + struct stu t; + for(i=0;ic>(stu+j+1)->c)||((stu+j)->c==(stu+j+1)->c)&&((stu+j)->num>(stu+j+1)->num)) + { + t = *(stu+j); + *(stu+j) = *(stu+j+1); + *(stu+j+1) = t; + } + } + } + return; +} + +int main() +{ + int n; + scanf("%d",&n); + min(stu,7); + switch(n) + { + case(1): + a1(); + break; + case(2): + a2(); + break; + case(3): + a3(); + break; + case(4): + a4(); + break; + case(5): + a5(); + break; + } + return 0; +}