用C语言编写程序,使得一维整型数组的20个元素保存在10×2的二维数组中,且偶数与奇数分别存储在两列上。

来源:百度知道 编辑:UC知道 时间:2024/06/27 21:39:18
RT

我是假定20个元素能保证 一半是偶数,一半是奇数
#include <stdio.h>

int main()
{
int a[20] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
int b[10][2];
int i,j,k;
j = 0;
k = 0;
for(i=0; i<20; i++)
{
if(a[i]%2==0) //如果是偶数,存放在第0列
b[j++][0] = a[i];
else //如果是奇数,存放在第1列
b[k++][1] = a[i];
}
for(i=0; i<10; i++)
printf("%d ",b[i][0]);

printf("\n");

for(i=0; i<10; i++)
printf("%d ",b[i][1]);

printf("\n");
return 0;
}

必须是一半偶数,一半奇数……否则超过数组边界。
int main(void)
{
int a[20];
int b[2][10];
int i,j=0;
for(i=0;i<20;i++)
b[a[i]%2][i%2==0?1/2:i/2+1]=a[i];
}

要保证奇数偶数个数相同。

#include <stdio.h>

int main() {
int x[20] = {1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12,