题目
有一个3*3的二维整型数组,数组中的数由键盘录入,请将数组中所有的奇数输出到奇数行,将偶数输出到偶数行,每行3个数,(数组中可能存在奇数数与偶数数不等的情况)
代码
void show(int arr[3][3])
{
int i, j, even[9], odd[9], el = 0, ol = 0, po, pe;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
if (arr[i][j] % 2)
odd[ol++] = arr[i][j];
else
even[el++] = arr[i][j];
po = pe = 0;
i = j = 1;
while (po + pe <= 7)
if (j <= 3 && ((i % 2 && po < ol) || (!(i % 2) && pe < el)))
{
printf("%3d", i % 2 ? odd[po++] : even[pe++]);
j++;
}
else
{
printf("\n");
j = 1;
i++;
}
}
int main()
{
int arr[3][3] = { 2,4,6,8,10,12,14,16,18 };
show(arr);
}
|