C语言二维指针练习

C语言二维指针练习使用二维指针用冒泡法将3*5二维数组中每行元素,按从大到小排序。
请尽量简单易懂些,本人学没多长时间。

#include <stdio.h>
int main()
{
     int a[3][5] = {{1,4,5,2,6},{2,6,3,4,1},{6,9,4,3,8}};   //对数组初始化
     int i,j;
     int k;
     int t;
     for(k = 0; k < 3; k++)
     {
          for(i = 0; i < 4; i++)
          {
               for(j = 0; j < 4-i; j++)
               {
                    if(a[k][j] >a[k][j+1])
                    {
                         t = a[k][j];
                         a[k][j] = a[k][j+1];
                         a[k][j+1] = t;
                    }
               }
          }
     }
 
     for(i = 0; i < 3; i++) //输出数组
     {
          for(j = 0; j < 5; j++)
          printf("%d ",a[i][j]);
          printf("\n");
     }
     return 0;
}

追问

我要的是指针亲

追答#include <stdio.h>

void Sort(int x[], int n);

int main()
{
int a[3][5] = {1,56,3,9,5,27,7,8,82,35,22,33,1,56,78};
int i,j,k;
int *p;
for(k = 0; k < 3; k++)
{
p = *(a+k);    
Sort(p,5);     //调用排序函数
}
for(i = 0; i < 3; i++)
{
for(j = 0; j < 5; j++)
{
printf("%4d",*(*(a+i)+j));
}
printf("\n");
}

return 0;
}

void Sort(int x[], int n) //自定义排序函数
{
int i, j, t;
for(i = 0; i < n-1; i++)
{
for(j = 0; j < n-i-1; j++)
{
if(x[j] > x[j+1])
{
t = x[j];
x[j] = x[j+1];
x[j+1] = t;
}
}
}
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网