步骤1 int main() { char controll; char arr1[] = { " 1.Input" }; char arr2[] = { " 2.Output" }; char arr3[] = { " 3.Order" }; char arr4[] = { " 4.Quit" }; char arr5[] = { "You are trying to Input info" }; char arr6[] = { "You are trying to Output info" }; char arr7[] = { "You are trying to Make things ordered" }; char arr8[] = { "You are about to Quit" }; printf("%s\n%s\n%s\n%s\n", arr1, arr2, arr3, arr4); scanf_s("%c", &controll); switch (controll) { case 'i':printf("\n%s\n", arr5); break; case 'o':printf("\n%s\n", arr6); break; case 'm':printf("\n%s\n", arr7); break; case 'q':printf("\n%s\n", arr8); break; default:printf("Wrong input"); } } 步骤2 #include int main() { int num[3]; float math[3],physic[3],english[3],sum[3]; int i; for(i=0;i<3;i++) { scanf("%d %f %f %f",&num[i],&math[i],&physic[i],&english[i]); sum[i]=math[i]+physic[i]+english[i]; } for(i=0;i<3;i++) { printf("%d %.1f %.1f %.1f %.1f\n",num[i],math[i],physic[i],english[i],sum[i]); } } 步骤3 int main() { char controll; char arr1[] = { " 1.Input" }; char arr2[] = { " 2.Output" }; char arr3[] = { " 3.Order" }; char arr4[] = { " 4.Quit" }; char arr5[] = { "Please input info of the three students:" }; char arr7[] = { "You are trying to Make things ordered" }; char arr8[] = { "You are about to Quit" }; printf("%s\n%s\n%s\n%s\n", arr1, arr2, arr3, arr4); scanf_s("%c", &controll); switch (controll) { case 'i':printf("\n%s\n", arr5); break; case 'm':printf("\n%s\n", arr7); break; case 'q':printf("\n%s\n", arr8); break; default:printf("Wrong input"); } struct student { int number; float gaoshu; float dawu; float yy; float add; float aver; }student1, student2, student3,studenttemp; scanf("%d",&student1.number); scanf("%f",&student1.gaoshu); scanf("%f",&student1.dawu); scanf("%f",&student1.yy); scanf("%d",&student2.number); scanf("%f",&student2.gaoshu); scanf("%f",&student2.dawu); scanf("%f",&student2.yy); scanf("%d",&student3.number); scanf("%f",&student3.gaoshu); scanf("%f",&student3.dawu); scanf("%f",&student3.yy); student1.add = (student1.gaoshu + student1.dawu + student1.yy); student2.add = (student2.gaoshu + student2.dawu + student2.yy); student3.add = (student3.gaoshu + student3.dawu + student3.yy); student1.aver = student1.add / 3; student2.aver = student2.add / 3; student3.aver = student3.add / 3; if (student1.add > student2.add) { studenttemp = student1; student1 = student2; student2 = studenttemp; } if (student1.add > student3.add) { studenttemp = student1; student1 = student3; student3 = studenttemp; } if (student2.add > student3.add) { studenttemp = student2; student2 = student3; student3 = studenttemp; } printf("%d,%.1f,%.1f\n", student1.number, student1.add, student1.aver); printf("%d,%.1f,%.1f\n", student2.number, student2.add, student2.aver); printf("%d,%.1f,%.1f\n", student3.number, student3.add, student3.aver); } 步骤四 #include int num[4],cla[4]; float f[4],s[4],t[4],add[4]; int begin,sta; int n=4; int insert; void sort(float add[]) { int i,j,te; float zh; for(i=n-1;i>sta;i--) { if(add[i]>add[i-1]) { zh=add[i];add[i]=add[i-1];add[i-1]=zh; te=num[i];num[i]=num[i-1];num[i-1]=te; zh=f[i];f[i]=f[i-1];f[i-1]=zh; zh=s[i];s[i]=s[i-1];s[i-1]=zh; zh=t[i];t[i]=t[i-1];t[i-1]=zh; } } if(n!=sta+1) { sta++; sort(add);} } void div(int clas[]) { int i,j,te; float zh; for(i=0;iclas[i+1]) { te=clas[i];clas[i]=clas[i+1];clas[i+1]=te; zh=add[i];add[i]=add[i+1];add[i+1]=zh; te=num[i];num[i]=num[i+1];num[i+1]=te; zh=f[i];f[i]=f[i+1];f[i+1]=zh; zh=s[i];s[i]=s[i+1];s[i+1]=zh; zh=t[i];t[i]=t[i+1];t[i+1]=zh; } } if(n!=sta+1){ n--; div(clas);} } int main() { void sort(float add[]); void div(int clas[]); num[0]=10001;num[1]=10002;num[2]=10003; cla[0]=11;cla[1]=12;cla[2]=11; f[0]=99.5;f[1]=77.9;f[2]=92.5; s[0]=88.5;s[1]=56.5;s[2]=99.0; t[0]=89.5;t[1]=87.5;t[2]=60.5; for(int i=0;i<3;i++) { add[i]=f[i]+s[i]+t[i]; } scanf("%d",&num[3]); insert=num[3]; int in=num[3]; for(int i=0;i<3;i++){ if(in==num[i]){ printf("%d %d %f %f %f %f",num[i],cla[i],f[i],s[i],t[i],add[i]); return 0; } } scanf("%d",&cla[3]); scanf("%f",&f[3]); scanf("%f",&s[3]); scanf("%f",&t[3]); add[3]=f[3]+s[3]+t[3]; sta=0;begin=0; div(cla); n=4; int m; for(m=0;m #include #include int num[4],cla[4]; float f[4],s[4],t[4],add[4]; int begin,sta; int n=3; int insert; char name[4][10]={{"Zhang"},{"Yang"},{"Liang"}}; void sort(float add[]) { int i,j,te; float zh; char oo[10]; for(i=n-1;i>sta;i--) { if(add[i]>add[i-1]) { zh=add[i];add[i]=add[i-1];add[i-1]=zh; te=num[i];num[i]=num[i-1];num[i-1]=te; zh=f[i];f[i]=f[i-1];f[i-1]=zh; zh=s[i];s[i]=s[i-1];s[i-1]=zh; zh=t[i];t[i]=t[i-1];t[i-1]=zh; strcpy(oo,name[i]);strcpy(name[i],name[i-1]); strcpy(name[i-1],oo); } } if(n!=sta+1) { sta++; sort(add);} } void div(int clas[]) { int i,j,te; float zh; char oo[10]; for(i=0;iclas[i+1]) { te=clas[i];clas[i]=clas[i+1];clas[i+1]=te; zh=add[i];add[i]=add[i+1];add[i+1]=zh; te=num[i];num[i]=num[i+1];num[i+1]=te; zh=f[i];f[i]=f[i+1];f[i+1]=zh; zh=s[i];s[i]=s[i+1];s[i+1]=zh; zh=t[i];t[i]=t[i+1];t[i+1]=zh; strcpy(oo,name[i]);strcpy(name[i],name[i+1]); strcpy(name[i+1],oo); } } if(n!=sta+1){ n--; div(clas);} } int main() { void sort(float add[]); void div(int clas[]); num[0]=10001;num[1]=10002;num[2]=10003; cla[0]=11;cla[1]=12;cla[2]=11; f[0]=99.5;f[1]=77.9;f[2]=92.5; s[0]=88.5;s[1]=56.5;s[2]=99.0; t[0]=89.5;t[1]=87.5;t[2]=60.5; sta=0;begin=0; div(cla); n=3; int m; for(m=0;m='0'&&name[3][0]<='9') { int number=atoi(name[3]); for(int i=0;i<3;i++){ if(number==num[i]){ printf("Are you sure(yes)?\n"); exist=1; target=i; break; } } } else { for(int i=0;i<3;i++){ if(strcmp(name[i],name[3])); else{ printf("Are you sure(yes)?\n"); exist=1; target=i; break; } } } char ch; if(exist==1){ scanf(" %c",&ch); if(ch=='y'){ for(int i=0;i<3;i++){ if(i!=target){ printf("%d %d %s %.2f %.2f %.2f\n",num[i],cla[i],name[i],f[i],s[i],t[i]); } } } if(ch=='n'){ for(int i=0;i<3;i++){ printf("%d %d %s %.2f %.2f %.2f\n",num[i],cla[i],name[i],f[i],s[i],t[i]); } } } else{ for(int i=0;i<3;i++){ printf("%d %d %s %.2f %.2f %.2f\n",num[i],cla[i],name[i],f[i],s[i],t[i]); } } return 0; } 步骤六 #include struct Scoreb{ int schoolnumber; int classnumber; char name[20]; float math; float physics; float english; float sum; }; int main(){ struct Scoreb student1={10001,11,"Zhang",99.5,88.5,89.5,277.5}; struct Scoreb student2={10002,12,"Yang",77.9,56.5,87.5,221.9}; struct Scoreb student3={10003,11,"Liang",92.5,99.0,60.5,252}; struct Scoreb students[3] = {student1,student2,student3}; struct Scoreb schange; scanf("%d%d%s%f%f%f",&schange.schoolnumber,&schange.classnumber,&schange.name,&schange.math,&schange.physics,&schange.english);int c=schange.schoolnumber; for(int i=0;i<3;i++){ if(schange.schoolnumber==students[i].schoolnumber){ schange.sum = schange.math+schange.physics+schange.english; students[i]=schange; } } for(int j = 0 ; j < 3 ; j++) for(int k = 2; k > j;k--){ if(students[k].classnumber students[k-1].sum){ struct Scoreb temp2 = students[k-1]; students[k-1] = students[k]; students[k] = temp2; } } } for(int i = 0; i < 2 ; i++){ printf("%d %d %s %.1f %.1f %.1f ",students[i].classnumber,students[i].schoolnumber,students[i].name,students[i].math,students[i].physics,students[i].english); if(c==students[i].schoolnumber) printf("modified\n"); if(students[0].classnumber==students[1].classnumber) { printf(" %d %s %.1f %.1f %.1f\n",students[1].schoolnumber,students[1].name,students[1].math,students[1].physics,students[1].english);break;} } printf("%d %d %s %.1f %.1f %.1f\n",students[2].classnumber,students[2].schoolnumber,students[2].name,students[2].math,students[2].physics,students[2].english); if(c==students[2].schoolnumber) printf(" modified"); return 0; } 步骤七 #include #include struct student { int number; int clas; char name[10]; float grade1; float grade2; float grade3; float sum; int signal; }student[7]={{10001,11,"Zhang",99.5,88.5,89.5,0,0}, {10002,12,"Yang",77.9,56.5,87.5,0,0}, {10003,11,"Liang",92.5,99.0,60.5,0,0}, {10004,11,"Cai",89.6,56.9,90.5,0,0}, {10005,14,"Fu",55.6,67.9,98.9,0,0}, {10006,12,"Mao",22.1,45.9,99.2,0,0}, {10007,13,"Zhan",35.6,67.9,88.0,0,0} }; struct student temp; void clas(); void number(); void name(); void grade(); void classandnumber(); const int n=7; int main() { int identity; scanf("%d",&identity); for(int i=0;i<7;i++) { student[i].sum=student[i].grade1+student[i].grade2+student[i].grade3; } int i,j,k; for(i=0;istudent[k].sum) { k=j; } } } temp=student[k]; student[k]=student[i]; student[i]=temp; } switch(identity) { case 1:clas();break; case 2:number();break; case 3:name();break; case 4:grade();break; case 5:classandnumber();break; default:printf("Wrong input!\n"); } for(i=0;i=inf&&student[i].clas<=sup) student[i].signal=1; } } void number() { int inf,noun,sup; scanf("%d%c%d",&inf,&noun,&sup); for(int i=0;i<7;i++) { if(student[i].number>=inf&&student[i].number<=sup) student[i].signal=1; } } void name() { int i=0,k,count; char initial[10]; scanf("%s",initial); printf("%s\n",initial); count=strlen(initial); bool flag=true; for(int i=0;i=inf) student[i].signal=1; } } void classandnumber() { int clas,noun1,inf,noun2,sup; scanf("%d%c%d%c%d",&clas,&noun1,&inf,&noun2,&sup); for(int i=0;i<7;i++) { if(student[i].clas==clas) { if(student[i].number>=inf&&student[i].number<=sup) student[i].signal=1; } } } 步骤八 #include #include #define N 100 struct stu_info { char num[20]; char cls[20]; char name[20]; float math,physics,english,total; }; struct stu_info stu[N]; int top=0; void print_menu() { printf("1.input\n"); printf("2.delete\n"); printf("3.select\n"); printf("4.order\n"); printf("5.output\n"); printf("6.quit\n"); printf("please input your option\n"); } void print() { int i; for(i=0;inum,key)==0||strcmp((stu+i)->name,key)==0) { d++;top--; *(stu+i)=*(stu+i+d); } else { *(stu+i)=*(stu+i+d); i++; } } print(); printf("continue?\n"); do{ scanf("%s",op); }while(strcmp(op,"yes")!=0&&strcmp(op,"no")!=0); if(strcmp(op,"no")==0) return; } } void select() { int i,flag; char key[20],op[20]; while(1) { flag=0; scanf("%s",key); for(i=0;inum,key)==0||strcmp((stu+i)->cls,key)==0) { flag=1; printf("%s,%s,%s,%.1f,%.1f,%.1f,%.1f\n",stu[i].num,stu[i].cls,stu[i].name,stu[i].math,stu[i].physics,stu[i].english,stu[i].total); } } if(!flag) { printf("there is no eligible student\n"); return; } printf("continue?\n"); do{ scanf("%s",op); }while(strcmp(op,"yes")!=0&&strcmp(op,"no")!=0); if(strcmp(op,"no")==0) return; } } void order() { int i,j; struct stu_info tmp; for(i=0;icls,(stu+j+1)->cls)==1||strcmp((stu+j)->cls,(stu+j+1)->cls)==0&&((stu+j)->total<(stu+j+1)->total)) { tmp = *(stu+j); *(stu+j) = *(stu+j+1); *(stu+j+1) = tmp; } } } print(); return; } int main() { int op; while(1) { print_menu(); scanf("%d",&op); switch(op) { case(1): input(); break; case(2): del(); break; case(3): select(); break; case(4): order(); break; case(5): print(); break; case(6): return 0; } } }