C语言程序设计数组题

一维整型数组a共有20个元素,偶数和奇数各占一半,要求将该数组的所有元素存储到一个2*10的二维数组b中,且奇数偶数各占一行

//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
int oldn[20]={1,2,3,4,5,6,7,8,9,10,12,14,16,11,13,15,17,18,19,20};
int newn[2][10]={0,},i,j,k;
for(i=j=k=0;i<20;i++)
if(oldn[i]%2) newn[0][j++]=oldn[i];
else newn[1][k++]=oldn[i];
for(i=0;i<2;i++){//Look at...
for(j=0;j<10;j++)
printf("%d ",newn[i][j]);
printf("\n");
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-27
#include<stdio.h>
int main()
{
int i,j;
int num1[20]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
int num2[2][10];
for(i=0;i<=19;i++)
if(num1[i]%2==0)
{
num2[1][i]=num1[i];
printf("%d ",num2[1][i]);
}
printf("\n");
for(j=0;j<=19;j++)
if(num1[j]%2!=0)
{
num2[2][j]=num1[j];
printf("%d ",num2[2][j]);
}
getchar();
return 0;
}
第2个回答  2018-03-13
#include <stdio.h> 

main( ) 

int a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},b[2][10]={0};
int i=0,j=0,k=0;
for (i=0;i<20;i++)
{
a[i]%2?(b[0][j++]=a[i]):(b[1][k++]=a[i]);
}
for (i=0;i<2;i++)
{
for (j=0;j<10;j++)
{
printf("%2d ",b[i][j]);
}
printf("\n");
}
}
1  3  5  7  9 11 13 15 17 19
2  4  6  8 10 12 14 16 18 20
Press any key to continue

第3个回答  2013-10-27
#include <stdio.h>

int main()
{
int array[20] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
int odd[2][10];
int i = 0;
int o = 0;
int e =0;
while(i<20)
{
if(array[i] % 2) //说明是奇数
{
odd[0][o] = array[i];
o++;
i++;
}
else //说明是偶数
{
odd[1][e] = array[i];
e++;
i++;
}
}
printf("odd number is :");
for(i = 0; i < 10; i++)
printf("%d ",odd[0][i]);
printf("\r\neven number is :");
for(i = 0; i < 10; i++)
printf("%d ",odd[1][i]);
printf("\r\n");

return 0;
}
更正如上