2 doublekill2014 DoubleKill2014 于 2014.12.17 09:56 提问

C语言派寻问题求解答!!!

把一个二维实型数组a按照第0列的元素进行排序(由大到小排序,用冒泡法)例如:a[i][0]大于a[i+1][0],则i行与i+1行所有元素都要进行对换 (c语言解答)

4个回答

lx624909677
lx624909677   Ds   Rxr 2014.12.17 10:02
已采纳

#include

int main()
{
int num[3][2] = {{5,2},{3,1},{2,9}};
int temp;

for(int i = 0;i<3-1; i++)
{
    for(int j = 0;j<3-1-i; j++)
    {
        if(num[j][0]>num[j+1][0])
        {
            for(int k=0; k<2;k++)
            {
                temp = num[j][k];
                num[j][k] = num[j+1][k];
                num[j+1][k] = temp;
            }
        }
    }
}

for(int i = 0; i<3; i++)
{
    for(int j = 0; j<2; j++)    
    {
        printf("%d ",num[i][j]);
    }
    printf("\n");
}
return 0;

}


lx624909677
lx624909677   Ds   Rxr 2014.12.17 10:03

#include

int main()
{
int num[3][2] = {{5,2},{3,1},{2,9}};
int temp;

for(int i = 0;i<3-1; i++)
{
    for(int j = 0;j<3-1-i; j++)
    {
        if(num[j][0]>num[j+1][0])
        {
            for(int k=0; k<2;k++)
            {
                temp = num[j][k];
                num[j][k] = num[j+1][k];
                num[j+1][k] = temp;
            }
        }
    }
}

for(int i = 0; i<3; i++)
{
    for(int j = 0; j<2; j++)    
    {
        printf("%d ",num[i][j]);
    }
    printf("\n");
}
return 0;

}


xuzuning
xuzuning   Ds   Rxr 2014.12.17 10:29
 void main() {
  int ar[3][2] = {{5,2},{3,1},{2,9}};
  int temp[2], i, j;
  int len = 3;

  for(i = 0;i<len-1; i++) {
    for(j = i+1;j<len; j++) {
      if(ar[i][0] > ar[j][0]) {
        memcpy(temp, ar[i], sizeof(temp));
        memcpy(ar[i], ar[j], sizeof(temp));
        memcpy(ar[j], temp, sizeof(temp));
      }
    }
  }

  for(i = 0; i<len; i++) {
    printf("[%d, %d]\n", ar[i][0], ar[i][1]);
  }
}
xuzuning
xuzuning   Ds   Rxr 2014.12.17 10:30

噢,是从大到小排列

 void main() {
  int ar[3][2] = {{5,2},{3,1},{2,9}};
  int temp[2], i, j;
  int len = 3;

  for(i = 0;i<len-1; i++) {
    for(j = i+1;j<len; j++) {
      if(ar[i][0] < ar[j][0]) {
        memcpy(temp, ar[i], sizeof(temp));
        memcpy(ar[i], ar[j], sizeof(temp));
        memcpy(ar[j], temp, sizeof(temp));
      }
    }
  }

  for(i = 0; i<len; i++) {
    printf("[%d, %d]\n", ar[i][0], ar[i][1]);
  }
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c语言问题求解答
#include #include #define course 4 typedef struct student { long int num; char name[20]; char sex[3]; int age; float score[course]; float aver; float total; struct s
“约瑟夫环”问题求解 C语言
约瑟夫环 问题求解 C语言 约瑟夫环 问题求解 C语言 约瑟夫环 问题求解 C语言
C++数据抽象和问题求解 第6版PDF 压缩第一部分
C++数据抽象和问题求解 第6版PDF 压缩第一部分 请下载其它六个部分到同一个目录并解压第一个文件
寻峰算法思路
uJ=Startponint; while(uJ { uJ++; if(满足上升沿的条件+在一定阈值范围内) { while(点uJ的值大于阈值,且最大值减uJ点的值小于峰到阈值的距离,uJ小于点的总数) { uJ++; 找到最大值; } usStartTemp = usTemp - usHALFWAVE; if( usStartTemp { usStartTemp
C语言编程 N皇后问题求解
回溯法程序: #include #include #include #define size 100 int board[size]; int ver[size]; int ru[size*2];//右上 int rd[size*2];//右下 int n,find; int rec[size]; //回溯搜索 void dfs(int t) { int i; if(find) return; i
寻线式电脑鼠设计报告(完整版)
完整版,过程详细,代码齐全,希望对大家有用处。
C\C++,用不带头结点的循坏列表实现约瑟夫问题
编号为1,2,3,…,n的n个人按顺序针方向围坐一张圆桌旁,每 个人手中持有一个密码(正整数)。首先输入一个正整数作为报数上限值m,然 后,从第一个人开始按顺序针方向自1开始顺序报数,报到m的人离开桌子, 并将他手中的密码作为新的m值,从顺序针方向的下一个就坐在桌旁的人开始 重新从1报数,如此下去,直至所有人全部离开桌旁为止。 算法思想: 用单循环链表来解决这一问题。实现的方法
单纯形算法C实现
用单纯形法解决线性规划问题。C语言实现。对已经标准化后的标准形式的线性规划问题求解。包括寻找进基变量,出基变量,变换,等操作,多次迭代
N皇后问题c语言解法
#include   #include  //stdlib.h里面定义了五种类型、一些宏和通用工具函数,在这里我用它是因为我在后面要用到abs()这个函数,                     //具体这个函数的作用后面解释 int q[100];        //在这里单独定义一个数组,用来存放皇后所在的列数 int cont = 0;  //cont当然是用来统计解得个数 
数据抽象和问题求解-C++语言描述(第四版)源码
很难的,在国外的ftp上找到的