//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; }