diff --git a/步骤5(修改后).c b/步骤5(修改后).c new file mode 100644 index 0000000..e2f2eab --- /dev/null +++ b/步骤5(修改后).c @@ -0,0 +1,138 @@ +#include +#include +void sortexam(char *b[],char *name[],int f[],float c[],float d[],float e[],float g[],int h,int n)/*༶ڳɼ*/ +{ + int i,j; + int t=0; + char a='0'; + char *p=&a; + float k=0; + for(i=h;i<=n;i++)/*ð*/ + for(j=h;j<=n-i;j++) + { + if(g[j]f[j+1]) + { + t=f[j];/**/ + f[j]=f[j+1]; + f[j+1]=t; + p=b[j]; + b[j]=b[j+1]; + b[j+1]=p; + p=name[j]; + name[j]=name[j+1]; + name[j+1]=p; + k=c[j]; + c[j]=c[j+1]; + c[j+1]=k; + k=d[j]; + d[j]=d[j+1]; + d[j+1]=k; + k=e[j]; + e[j]=e[j+1]; + e[j+1]=k; + k=g[j]; + g[j]=g[j+1]; + g[j+1]=k; + } + } +} +int deletename(char *b[],char *name[],int f[],float c[],float d[],float e[],float g[],int n)/*ɾ*/ +{ + int i,j; + int k;/*泤*/ + k=n; + char a[1001]; + scanf("%s",&a); + for(i=1;i<=n;i++) + { + if(strcmp(b[i],a)==0||strcmp(name[i],a)==0)/*Ƚ*/ + { + k--; + for(j=i;j<=n;j++) + { + b[j]=b[j+1]; + name[j]=name[j+1]; + f[j]=f[j+1]; + c[j]=c[j+1]; + d[j]=d[j+1]; + e[j]=e[j+1]; + g[j]=g[j+1]; + } + } +} +return k; +} +int main() +{ + char s[1001]; + char a[10001]; + int i; + int k; + int n=3; + char *b[1001]={"0","10001","10002","10003","0"};/*ѧ*//*ѧղʹ*/ + char *name[1001]={"0","Zhang","Yang","Liang","0"};/**/ + int f[1001]={0,11,12,11};/*༶*/ + float c[1001]={0,99.5,77.9,92.5},d[1001]={0,88.5,56.5,99.0},e[1001]={0,89.5,87.5,60.5};/*ɼ*/ + float g[1001]={0};/*ܳɼ*/ + for(i=1;i<=3;i++) + g[i]=c[i]+d[i]+e[i]; + n=deletename(b,name,f,c,d,e,g,3); + sortclass(b,name,f,c,d,e,g,n); + k=1;/*ǰ*/ + for(i=1;i<=n;i++) + { + if(f[i+1]!=f[k]) + { + sortexam(b,name,f,c,d,e,g,k,i); + k=i+1; +} +} +for(i=1;i<=n;i++) +{ + printf("%s %d %s %.1f %.1f %.1f",b[i],f[i],name[i],c[i],d[i],e[i]); + printf("\n"); +} +printf("Are you sure(yes/no)?\n"); +scanf("%s",&a); +if(strcmp(a,"n")==0) +{ +for(i=1;i<=n;i++) +{ + printf("%s %d %s %.1f %.1f %.1f",b[i],f[i],name[i],c[i],d[i],e[i]); + printf("\n"); +} +} +return 0; +}