已知一个二维数组用C语言获得新的二维数组100

360U3297815441 |浏览637次
收藏|2021/10/15 13:02

满意回答

2021/10/15 13:10

结果不应该是f[6][3],而是f[6][4].程序参考:#include <stdio.h>#include <stdlib.h>int sort_function( const void *a, const void *b) //排序比较函数{ return *(int *)a-*(int *)b;}void fun(int *d,int *f){ int t[4],i,j; for(i=0;i<4;i++) t[i]=d[i]; qsort(t,4,sizeof(int), sort_function); //排序 for(i=0;i<4;i++) { for(j=0;j<4;j++) if (d[i]==t[j]) { f[i]=j+1; break; } }}int main(){ int d[6][4]= {{1,2,6,3},{2,6,8,1},{6,3,9,5},{7,1,4,5},{2,7,5,6},{1,3,7,2}}; int f[6][4]; int i,j; for(i=0; i<6; i++) fun(d[i],f[i]); for(i=0;i<6;i++) { for(j=0;j<4;j++) printf("%2d",f[i][j]); printf("\n"); } return 0;}结果另外,排序你可能自己写(我用的是C标准函数)

whoami1978

其他回答(0)
0人关注该问题
+1

 加载中...