diff --git a/step7 b/step7 new file mode 100644 index 0000000..f3d43fa --- /dev/null +++ b/step7 @@ -0,0 +1,99 @@ +//program7 +#include +struct student{ +int id; +int Class; + char name[50]; + float gs; + float dw; + float yy; +}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 type1() +{ + int a,b; + scanf("%d-%d",&a,&b); + for(int i=0;i<7;i++) + { + if(Stu[i].Class>=a&&Stu[i].Class<=b) + { + printf("%d %d %s %.1f %.1f %.1f\n",Stu[i].id,Stu[i].Class,Stu[i].name,Stu[i].gs,Stu[i].dw,Stu[i].yy); + } + } +}//类型一 选择班级 +void type2() +{ + int a,b; + scanf("%d-%d",&a,&b); + + for(int i=0;i<7;i++) + { + if(Stu[i].id>=a&&Stu[i].id<=b) + { + printf("%d %d %s %.1f %.1f %.1f\n",Stu[i].id,Stu[i].Class,Stu[i].name,Stu[i].gs,Stu[i].dw,Stu[i].yy); + } + } + } //类型二 选择学号 + void type3() + { + char a[10]; + scanf("%s",a); + + for(int j=0;j<7;j++) + { + int n=0; + while(a[n]!='*'&&Stu[j].name[n]==a[n]) + { + n++; + } + if(a[n]=='*') + { + printf("%d %d %s %.1f %.1f %.1f\n",Stu[j].id,Stu[j].Class,Stu[j].name,Stu[j].gs,Stu[j].dw,Stu[j].yy); + } + } + } //类型三 选择姓名 + void type4() + { + float a; + scanf("%f",&a); + for(int i=0;i<7;i++) + { + if(a<=Stu[i].dw+Stu[i].gs+Stu[i].yy) + { + printf("%d %d %s %.1f %.1f %.1f\n",Stu[i].id,Stu[i].Class,Stu[i].name,Stu[i].gs,Stu[i].dw,Stu[i].yy); + } + } + }//类型四 查询总分 + void type5() + { + int a,b,c,i=0; + scanf("%d %d-%d",&a,&b,&c); + for(i;i<7;i++) + { + if(Stu[i].Class==a&&Stu[i].id>=b&&Stu[i].id<=c) + { + printf("%d %d %s %.1f %.1f %.1f\n",Stu[i].id,Stu[i].Class,Stu[i].name,Stu[i].gs,Stu[i].dw,Stu[i].yy); + } + } + }//类型五 查询班级中部分学号 +int main() +{ + int n,a,b; + scanf("%d",&n); + switch(n) + { + case 1:type1() ;break; + case 2:type2() ;break; + case 3:type3() ;break; + case 4:type4() ;break; + case 5:type5() ;break; + } + return 0; + } \ No newline at end of file