1.调整数组使奇数全部都位于偶数前面。
#include <stdio.h>
#include<stdlib.h>
int main() {
int i, j,tmp=0;
int a[9] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (i=0;i<9;i++){
for (j = 8; j >= 0; j--) {
if(a[j]%2==1 && a[i]%2==0 && i<=j){
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
for (i = 0; i < 9; i++){
printf("%d ", a[i]);
}
system("pause");
return 0;
}
2.杨氏矩阵
有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main() {
int num,i=0,j=2;
int a[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
printf("请输入你要查找的数字:");
scanf("%d", &num);
while (1) {
if (a[i][j] == num) {
printf("找到了,(%d,%d)\n", i, j);
break;
} else if (a[i][j] > num) {
j--;
} else{
i++;
}
if (i ==4 || j == -1) {
printf("没有您要查找的数字\n");
break;
}
}
system("pause");
return 0;
}