题目:对于一个m*n矩阵每行升序排序。
思路:根据输入的m,n创建动态二维数组;输入数据;冒泡排序每行;输出结果;释放动态数组空间。
代码:
#include<stdio.h>
#include<stdlib.h>
int main(){
int m,n,i,j,k,tem;
scanf("%d %d",&m,&n);
int **p;
//创建动态二维数组
p=(int**)calloc(m,sizeof(int*));
for(i=0;i<m;i++)
p[i]=(int*)calloc(n,sizeof(int));
//输入数据
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",*(p+i)+j);
//冒泡
for(i=0;i<m;i++) //控制在第几行进行排序
for(j=0;j<=n-1;j++) //控制在第几趟排序,n个元素共n-1趟
for(k=0;k<n-1-j;k++) //控制每次比较次数
if(p[i][k]>p[i][k+1]){
tem=p[i][k];