我在线上等着
自己要多想想. 这个程序还可以将输入存储起来. 因为在turbo c中调试,未能给出解释.不过应该明白, input输入 output输出 calculate计算 sort排序 如此: #include<stdio.h> #include<conio.h> #define M 30 #define N 4 int a[M][N],i,j;
void input( ) { FILE *fp; fp=fopen("D:\\in.dat","w"); if(fp==NULL) { printf("Error!\n"); return; } for(i=0;i<M;i++) for(j=0;j<N-1;j++) scanf("%d",&a[i][j]); for(i=0;i<M;i++) { for(j=0;j<N-1;j++) fprintf(fp,"%d",a[i][j]); fprintf(fp,"\n"); } fclose(fp); }
void calculate( ) { for(i=0;i<M;i++) { a[i][N-1]=0; for(j=0;j<N-1;j++) a[i][N-1]+=a[i][j]; } }
void sort( ) { int k,t; for(i=0;i<M-1;i++) for(j=i+1;j<M;j++) if(a[i][N-1]<a[j][N-1]) for(k=0;k<N;k++) { t=a[i][k]; a[i][k]=a[j][k]; a[j][k]=t; } }
void output( ) { FILE *fp; fp=fopen("D:\\out.dat","w"); for(i=0;i<M;i++) { for(j=0;j<N;j++) { fprintf(fp,"%3d",a[i][j]); printf("%4d",a[i][j]); } fprintf(fp,"\n"); printf("\n"); } fclose(fp); } void main( ) { input( ); calculate( ); sort( ); output( ); getch( ); }