You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ppbisf2hv 1cf3c0df72
Update README.md
2 years ago
README.md Update README.md 2 years ago

README.md

第1步骤 #include<stdio.h> int main(){ char ch; int i; for(i=1;i<=30;i++) printf(" "); printf("1.Input\n"); for(i=1;i<=30;i++) printf(" "); printf("2.Output\n"); for(i=1;i<=30;i++) printf(" "); printf("3.Order\n"); for(i=1;i<=30;i++) printf(" "); printf("4.Quit\n"); scanf("%c",&ch); if(ch=='i'){ printf("You are trying to Input info\n"); } else if(ch=='o'){ printf("You are trying to Onput info\n"); } else if(ch=='m'){ printf("You are trying to Make things ordered\n"); } else if(ch=='q'){ printf("You are about to Quit\n"); } else{ printf("Wrong input"); } } 第2步骤 #include<stdio.h> int main() { struct student { int num; float gaoshu; float dawu; float english; float sum; }student1, student2, student3; printf("输入学生成绩:\n"); scanf("%d\n%f\n%f\n%f\n", &student1.num, &student1.gaoshu, &student1.dawu, &student1.english); scanf("%d\n%f\n%f\n%f\n", &student2.num, &student2.gaoshu, &student2.dawu, &student2.english); scanf("%d\n%f\n%f\n%f\n", &student3.num, &student3.gaoshu, &student3.dawu, &student3.english); student1.sum = student1.gaoshu + student1.dawu + student1.english; student2.sum = student2.gaoshu + student2.dawu + student2.english; student3.sum = student3.gaoshu + student3.dawu + student3.english; printf("输出学生成绩:\n"); printf("%d %.1f %.1f %.1f %.1f", student1.num, student1.gaoshu, student1.dawu, student1.english, student1.sum); printf("\n"); printf("%d %.1f %.1f %.1f %.1f", student2.num, student2.gaoshu, student2.dawu, student2.english, student2.sum); printf("\n"); printf("%d %.1f %.1f %.1f %.1f" ,student3.num, student3.gaoshu, student3.dawu, student3.english, student3.sum); printf("\n"); return 0; } 第3步骤 #include<stdio.h> int main(){ char ch; int i; for(i=1;i<=30;i++) printf(" "); printf("1.Input\n"); for(i=1;i<=30;i++) printf(" "); printf("2.Output\n"); for(i=1;i<=30;i++) printf(" "); printf("3.Order\n"); for(i=1;i<=30;i++) printf(" "); printf("4.Quit\n"); scanf("%c",&ch); if(ch=='i'){ printf("Please input info of the three students:\n"); } else if(ch=='o'){ printf("You are trying to Onput info\n"); } else if(ch=='m'){ printf("You are trying to Make things ordered\n"); } else if(ch=='q'){ printf("You are about to Quit\n"); } else{ printf("Wrong input"); } struct student{ int num; float math; float phy; float eng; }stu[3]; for(i=0;i<3;i++){ scanf("%d%f%f%f",&stu[i].num,&stu[i].math,&stu[i].phy,&stu[i].eng); } float sum[3],aver[3]; for(i=0;i<3;i++){ sum[i]=stu[i].math+stu[i].phy+stu[i].eng; aver[i]=sum[i]/3; } float n[3]; int j; n[0]=(sum[0]>sum[1]?sum[0]:sum[1]); n[0]=(n[0]>sum[2]?n[0]:sum[2]); if(n[0]==sum[0]){ if(sum[1]>sum[2]) {n[1]=sum[1]; n[2]=sum[2]; } else if(sum[2]>sum[1]){ n[1]=sum[2]; n[2]=sum[1]; } } else if(n[0]==sum[1]){ if(sum[0]>sum[2]){ n[1]=sum[0]; n[2]=sum[2]; } else if(sum[2]>sum[0]){ n[1]=sum[2]; n[2]=sum[0]; } } else if(n[0]==sum[2]){ if(sum[0]>sum[1]){ n[1]=sum[0]; n[2]=sum[1]; } else if(sum[1]>sum[0]){ n[1]=sum[1]; n[2]=sum[0]; } } for(i=2;i>=0;i--){ for(j=0;j<3;j++){ if(n[i]==sum[j]) printf("%d,%.1f,%.1f\n",stu[j].num,sum[j],aver[j]); } } return 0; } 第4步骤 #include<stdio.h> #include<string.h> typedef struct { char sid[10]; int class; float score[3]; float totalScore; } Student; void insertStudent(Student students[], int size, Student newStudent) { students[size] = newStudent; for (int i = 0; i < size; i++) { for (int j = i + 1; j <= size; j++) { if (students[i].class > students[j].class || (students[i].class == students[j].class && students[i].totalScore < students[j].totalScore)) { Student temp = students[i]; students[i] = students[j]; students[j] = temp; } } } } void printStudents(Student students[], int size,char insert[]) { char m; for (int i = 0; i < size; i++) { if(strcmp(students[i].sid,insert)==0) { printf(" %s %d %.1f %.1f %.1f %.1f insert\n", students[i].sid, students[i].class, students[i].score[0], students[i].score[1], students[i].score[2], students[i].totalScore); } else { printf(" %s %d %.1f %.1f %.1f %.1f\n", students[i].sid, students[i].class, students[i].score[0], students[i].score[1], students[i].score[2], students[i].totalScore); } } } int main() { Student students[4] = { {"1001", 11, {99.5,88.5,89.5}, 277.5}, {"1002", 12, {77.9,56.5,87.5}, 221.9}, {"1003", 11, {92.5,99.0,60.5}, 252.0} }; int size = 3; char insert[10]; Student newStudent; printf("请输入新学生信息:\n"); printf("学号:"); scanf("%s\n", newStudent.sid); printf("班级:"); scanf("%d\n", &newStudent.class); printf("三门课程成绩:"); scanf("%f\n %f\n %f\n", &newStudent.score[0], &newStudent.score[1], &newStudent.score[2]); strcpy(insert,newStudent.sid); newStudent.totalScore = newStudent.score[0] + newStudent.score[1] + newStudent.score[2]; insertStudent(students, size, newStudent); size++; printf("所有学生信息如下:\n"); printStudents(students, size,insert); return 0; } 第5步骤 #include<stdio.h> #include<string.h> #define N 3 struct stu_info { char num[20]; int cls,flag; char name[20]; float math,physics,english,total; }stu[N]={"10001",11,1,"Zhang",99.5,88.5,89.5,0,"10002",12,1,"Yang",77.9,56.5,87.5,0,"10003",11,1,"Liang",92.5,99.0,60.5,0}; void del(struct stu_info stu[],const char key[]) { int i,exist=0,j; struct stu_info t; for(i=0;i<N;i++) stu[i].total=stu[i].math+stu[i].physics+stu[i].english; for(i=0;i<(N-1);i++){ for(j=i+1;j<N;j++){ if(stu[j].total>=stu[i].total) {t=stu[i]; stu[i]=stu[j]; stu[j]=t; } } } for (i=0;i<N;i++) {
if((strcmp((stu+i)->num,key)==0)||(strcmp((stu+i)->name,key)==0)) { stu[i].flag=0; exist=1; } } int a; if(exist){ for(a=11;a<=12;a++){ for(i=0;i<N;i++){ if(stu[i].flag&&stu[i].cls==a) printf("%s %d %s %.1f %.1f %.1f\n",stu[i].num,stu[i].cls,stu[i].name,stu[i].math,stu[i].physics,stu[i].english); } } } else if(!exist){ for(i=0;i<N;i++) printf("%s %d %s %.1f %.1f %.1f\n",stu[i].num,stu[i].cls,stu[i].name,stu[i].math,stu[i].physics,stu[i].english); }

printf("Are you sure(yes/no)?\n"); char ch2; scanf("%c",&ch2); if(ch2=='y'){ return; } else if(ch2=='n'){ for(i=0;i<N;i++) printf("%s %d %s %.1f %.1f %.1f\n",stu[i].num,stu[i].cls,stu[i].name,stu[i].math,stu[i].physics,stu[i].english); } }

int main() { char key[20]; gets(key); del(stu,key); return 0; } 第6步骤 #include<stdio.h> #include<string.h> #define N 3

struct stu_info { char num[20]; int cls,flag; char name[20]; float math,physics,english; };

struct stu_info stu[N]={{"10001",11,0,"Zhang",99.5,88.5,89.5}, {"10002",12,0,"Yang",77.9,56.5,87.5}, {"10003",11,0,"Liang",92.5,99.0,60.5}};

void sort(struct stu_info *stu,int n) { int i,j; struct stu_info tmp; for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) { if(((stu+j)->cls>(stu+j+1)->cls)||((stu+j)->cls==(stu+j+1)->cls)&&((stu+j)->num>(stu+j+1)->num)) { tmp = *(stu+j); *(stu+j) = *(stu+j+1); *(stu+j+1) = tmp; } } } return; }

int main() { struct stu_info mod; scanf("%s",&mod.num); scanf("%d",&mod.cls); scanf("%s",&mod.name); scanf("%f",&mod.math); scanf("%f",&mod.physics); scanf("%f",&mod.english); int i; for(i=0;i<N;i++) { if(strcmp(stu[i].num,mod.num)==0) { *(stu+i)=mod; } } sort(stu,N); for(i=0;i<N;i++) { if(i==0||stu[i].cls!=stu[i-1].cls) printf("%2d ",stu[i].cls); else printf(" "); printf("%s %s %.1f %.1f %.1f",stu[i].num,stu[i].name,stu[i].math,stu[i].physics,stu[i].english); if(stu[i].flag) printf(" modified"); printf("\n"); } return 0; } 第7步骤 #include<stdio.h> #include<string.h> struct student{ int id; int class; char name[20]; double score1; double score2; double score3; double score; }stu[7]={10001,11,"Log",99.5,88.5,89.5,0,10002,12,"Yang",77.9,56.5,87.5,0,10003,11,"Liang",92.5,99.0,60.5,0,10004,11,"Cai",89.6,56.9,90.5,0,10005,14,"Fu",55.6,67.9,98.9,0,10006,12,"Mao",22.1,45.9,99.2,0,10007,13,"Zhan",35.6,67.9,88.0,0}; int main(){ void solve1(void); void solve2(void); void solve3(void); void solve4(void); void solve5(void); int i,j; for(i=0;i<7;i++){ stu[i].score=stu[i].score1+stu[i].score2+stu[i].score3; } scanf("%d",&j); if(j==1){ solve1(); } else if(j==2){ solve2(); } else if(j==3){ solve3(); } else if(j==4){ solve4(); } else if(j==5){ solve5(); } return 0; } void solve1(void){ int i,j,l,k=0,a,b,c,d; double *p; double *score[7]; int *class[7]; scanf("%d%d",&a,&b); for(c=a;c<=b;c++){ k=0; for(i=0;i<7;i++){ if(stu[i].class==c){ score[k++]=&stu[i].score; } if(k==0); continue; } for(j=0;j<(k-1);j++){ for(l=j+1;l<k;l++){ if(*score[l]>*score[j]) { p=score[j]; score[j]=score[l]; score[l]=p; } else continue; } } for(i=0;i<k;i++){ for(j=0;j<7;j++){ if(*score[i]==stu[j].score){ printf("%d %d %s %.1f %.1f %.1f\n",stu[j].id,stu[j].class,stu[j].name,stu[j].score1,stu[j].score2,stu[j].score3); } else continue; } } } } void solve2(void){ int i,j,k=0,l,a,b,c,d; scanf("%d%d",&a,&b); double *score[7]; double *p; for(i=11;i<=14;i++){ k=0; for(j=0;j<7;j++){ if(stu[j].class==i&&(stu[j].id>=a&&stu[j].id<=b)){ score[k++]=&stu[j].score; } } for(j=0;j<(k-1);j++){ for(l=j+1;l<k;l++){ if(*score[l]>*score[j]){ p=score[j]; score[j]=score[l]; score[l]=p; } } } for(c=0;c<k;c++){ for(d=0;d<7;d++){ if(stu[d].score==*score[c]) printf("%d %d %s %.1f %.1f %.1f\n",stu[d].id,stu[d].class,stu[d].name,stu[d].score1,stu[d].score2,stu[d].score3); } } } } void solve3(void){ char ch[20]={'\0'}; int i,j,k=0,l,a,b,c; char ch1; scanf("%c",&ch1); gets(ch); int len,label=1; double *score[7],*p; len=strlen(ch); for(i=0;i<7;i++){ label=1; for(j=0;j<(len-1);j++){ if(stu[i].name[j]!=ch[j]) { label=0; break; } } if(label==1) score[k++]=&stu[i].score; } for(i=0;i<(k-1);i++){ for(j=i+1;j<k;j++){ if(*score[j]>=*score[i]){ p=score[i]; score[i]=score[j]; score[j]=p; } } } for(i=11;i<=14;i++){ for(j=0;j<k;j++){ for(l=0;l<7;l++){ if(stu[l].class==i&&stu[l].score==*score[j]) printf("%d %d %s %.1f %.1f %.1f\n",stu[l].id,stu[l].class,stu[l].name,stu[l].score1,stu[l].score2,stu[l].score3); } } }

 }
 void solve4(void){
 	int i,j,k,l,a,b,c,d;
 	double *score[7],*p;
 	for(i=0;i<7;i++){
 		score[i]=&stu[i].score;
	 }
	 for(i=0;i<6;i++){
	 	for(j=i+1;j<7;j++){
	 		if(*score[j]>=*score[i]){
	 			p=score[i];
	 			score[i]=score[j];
	 			score[j]=p;
			 }
		 }
	 }
	 for(i=11;i<=14;i++){
	 	for(j=0;j<7;j++){
	 		for(l=0;l<7;l++){
	 			 if(stu[l].class==i&&*score[j]==stu[l].score&&stu[l].score>=98.0)
	 		printf("%d %d %s %.1f %.1f %.1f\n",stu[l].id,stu[l].class,stu[l].name,stu[l].score1,stu[l].score2,stu[l].score3);
			 }
		 }
	 }
 }

void solve5(void){ int i,j,k=0,l,a,b,c,d=0; double *score[7]={NULL},*p; char ch1,ch2; scanf("%d%d%d",&a,&b,&c); for(i=0;i<7;i++){ if(stu[i].class==a&&(stu[i].id>=b&&stu[i].id<=c)){ score[k++]=&stu[i].score; } }

for(i=0;i<(k-1);i++){
	for(j=i+1;j<k;j++){
		if(*score[j]>=*score[i]){
			p=score[i];
			score[i]=score[j];
			score[j]=p;
		}
	}
}
     for(j=0;j<k;j++){
       for(l=0;l<7;l++){
       	if(stu[l].class==a&&stu[l].score==*score[j])
       	printf("%d %d %s %.1f %.1f %.1f\n",stu[l].id,stu[l].class,stu[l].name,stu[l].score1,stu[l].score2,stu[l].score3);
	   }
	 }

} 第8步骤 #include<stdio.h> struct student{ int id; int class; char name[20]; double score1; double score2; double score3; double score; }stu[7]; void xunwen(void){ printf("1.input\n"); printf("2.delet\n"); printf("3.select\n"); printf("4.order\n"); printf("5.output\n"); printf("6.quit\n"); printf("please input your option\n"); } void input(void){ int i,j; char str[3]; void zhixing(void); for(i=0;i<7;i++){ printf("id "); scanf("%d",&stu[i].id); printf("class "); scanf("%d",&stu[i].class); printf("name "); scanf("%s",stu[i].name); printf("score1 "); scanf("%lf",&stu[i].score1); printf("score2 "); scanf("%lf",&stu[i].score2); printf("score3 "); scanf("%lf",&stu[i].score3); printf("continue?\n"); scanf("%s",str); if(str[0]=='y') continue; else if(str[0]=='n') break; } for(i=0;i<7;i++){ stu[i].score=stu[i].score1+stu[i].score2+stu[i].score3; } xunwen(); zhixing(); } void delet(struct student stu4[]){ void xunwen(void); void zhixing(void); int i,j,k,a,b,c; char str[3]; scanf("%d",&a); for(i=0;i<7;i++){ if(stu[i].id==a){ stu[i].id=0; } } for(i=0;i<7;i++){ if(stu[i].id!=0) printf("%d %d %s %.1f %.1f %.1f %.1f %.1f\n",stu[i].id,stu[i].class,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score); } printf("continue?\n"); struct student *p=stu; scanf("%s",str); if(str[0]=='y') delet(p); else if(str[0]=='n') xunwen(); zhixing(); } void select(struct student stu7[]){ void xunwen(void); void zhixing(void); int i,j,k,a,b,c=1; char str[3]; scanf("%d",&a); if(a>100){ for(i=0;i<7;i++){ if(stu7[i].id==a) printf("%d %d %s %.1f %.1f %.1f %.1f\n",stu[i].id,stu[i].class,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score); c=0; } } else if(a<100){ for(i=0;i<7;i++){ if(stu7[i].class==a){ printf("%d %d %s %.1f %.1f %.1f %.1f\n",stu[i].id,stu[i].class,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score); c=0; } } } if(c==1) printf("there is no eligible student"); printf("continue?\n"); struct student *p=stu; scanf("%s",str); if(str[0]=='y'){ select(p); } else if(str[0]=='n'){ xunwen(); zhixing(); } } void order(struct student stu2[]){ void zhixing(void); void output(void); int i,j,k=0,a,b,c; struct student temp; struct student stu1[7]; for(i=0;i<7;i++){ stu1[i]=stu2[i]; } for(i=0;i<6;i++){ for(j=i+1;j<7;j++){ if(stu1[j].score>=stu1[i].score){ temp=stu1[i]; stu1[i]=stu1[j]; stu1[j]=temp; } } } for(i=1;i<30;i++){ for(j=0;j<7;j++){ if(stu1[j].class==i) stu2[k++]=stu1[j]; } } for(i=0;i<7;i++){ if(stu[i].id!=0) printf("%d %d %s %.1f %.1f %.1f %.1f\n",stu[i].id,stu[i].class,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score); } xunwen(); zhixing(); } void output(){ void zhixing(void); int i; for(i=0;i<7;i++){ if(stu[i].id!=0) printf("%d %d %s %.1f %.1f %.1f %.1f\n",stu[i].id,stu[i].class,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score); } xunwen(); zhixing(); } void quit(void){ return; } void zhixing(void){ int i; scanf("%d",&i); struct student *p=stu; switch(i){ case 1:input();break; case 2:delet(p);break; case 3:select(p);break; case 4:order(p);break; case 5:output();break; case 6:quit();break; } } int main(){ xunwen(); zhixing(); return 0; }