}
for (k = 0; k < 4; k++) //k作为横坐标 {
//如果存在k大于array[i][minY],则不是鞍点 if (array[k][minY] > rowMin) {
break; } }
if (k == 4) {
//如果循环k未找到大于array[minX][minY]的值,则表示找到鞍点 printf(\是鞍点,值为 %d\\n\, i, minY, rowMin); } }
return 0;
【6.9】 编函数,将给定数组中0元素全部移到后部,且所有非0元素顺序不变 #include
int array[10] = {12, 34, 91, 0, 44, 82, 94, 0, 0, 44};
int i, j, count = 0;
for (i = 0; i < 10 - count; ) {
if (array[i] == 0) {
for (j = i; j < 9; j++) {
array[j] = array[j + 1]; }
array[9] = 0; count++; } else {
i++; } }
for (i = 0; i < 10; i++) {
printf(\, array[i]); }
return 0; }
【6.14】对任意给定的m*n阶整数矩阵的每行按递增排序, #include
int array[3][4] = {{12, 33, 45, 67}, {99, 78, 88, 69}, {5, 123, 66, 51}};
int i, j, k;
for (i = 0; i < 3; i++) {
}
//对每行的数组元素进行排序 for (j = 0; j < 4; j++) {
for (k = j + 1; k < 4; k++) {
if (array[i][j] > array[i][k]) {
int temp = array[i][j]; array[i][j] = array[i][k]; array[i][k] = temp; } } }
for (i = 0; i < 3; i++) {
//根据数组每行第一个元素,对行进行排序 for (k = i + 1; k < 3; k++) {
if (array[i][0] > array[k][0]) {
//交换两行
for (j = 0; j < 4; j++) {
int temp = array[i][j]; array[i][j] = array[k][j]; array[k][j] = temp;
}
} } } }
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf(\, array[i][j]); }
printf(\); }
return 0;
【6.15】 编函数,对任意给定的m*n阶整数矩阵排序 #include
int array[3][4] = {{67, 33, 12, 45}, {99, 78, 88, 69}, {5, 123, 66, 51}};
int i, j, m, n;
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
m = i; //设置开始比对的行 n = j + 1; //设置开始比对的列 for (; m < 3; m++) {
for (; n < 4; n++) {
if (array[i][j] > array[m][n]) {
int temp = array[i][j]; array[i][j] = array[m][n]; array[m][n] = temp; } }
n = 0; //纵坐标归0 }
}
} }
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf(\, array[i][j]); }
printf(\); }
return 0;
【6.16】 数组A未排序;今有一个索引数组B保存A的下标,编程序,不改变A,只改变数组B完成对A的排序
#include
int datas[5] = {10, 7, 5, 8, 4}; int index[5] = {1, 2, 3, 4, 5};
int i, j;
for (i = 0; i < 5; i++) {
int count = 1;
for (j = 0; j < 5; j++) {
if (datas[i] > datas[j]) {
}
count++; //记录当前数字大于数组中的其他数字的次数 } }
index[i] = count;
for (i = 0; i < 5; i++) {
printf(\, datas[i]); }
printf(\);
for (i = 0; i < 5; i++)
相关推荐: