...一维整型数组的20个元素保存在10×2的二维数组中,且偶数与奇数分别存...
发布网友
发布时间:2024-07-13 05:32
我来回答
共3个回答
热心网友
时间:2024-07-21 05:55
我是假定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;
}
热心网友
时间:2024-07-21 05:52
要保证奇数偶数个数相同。
#include <stdio.h>
int main() {
int x[20] = {1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20};
int y[2][10];
int i, j, k;
memset(y, 0, sizeof(y));
i = j = 0;
for (k=0; k<20; k++) {
if (x[k] % 2 == 0 && i < 10)
y[0][i++] = x[k];
else if (x[k] % 2 != 0 && j < 10)
y[1][j++] = x[k];
}
for (i=0; i<2; i++)
for (j=0; j<10; j++)
printf("y[%d][%d] = %d\n", i, j, y[i][j]);
}
热心网友
时间:2024-07-21 05:52
必须是一半偶数,一半奇数……否则超过数组边界。
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];
}