c语言,急急急,求
#include<stdio.h>
void swap(int *p1,int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
int main()
{
int a[4][4],k=0;
int (*p)[4]=a;//指针p指向数组a
int b[16],*x=b;//指针指向数值b
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
scanf("%d",p[i]+j);//输入
*(x+k++)=*(p[i]+j);//二维数组向一维数组转化;
}
for(int i=0;i<16;i++)//冒泡排序
for(int j=0;j<15-i;j++)
if(*(x+j)<*(x+j+1))
swap(x+j,x+j+1);//调用函数交换数值
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
*(p[i]+j)=x[4*i+j];//一维数组转化为二位数值
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)//输出
{
printf("%d ",*(p[i]+j));
if(j==3)
printf("\n");
}
return 0;
}