编写程序,把数组中所有奇数放在另一个数组中并输出

如题所述

#include<stdio.h>int fun(int *p,int c){int i,b[10]={0},a=0;for(i=0;i<10;i++)if((p[i]%2)!=0){b[a]=p[i];a++;}for(i=0;i<a;i++)printf("b[%d]=%d\n",i,b[i]);for(i=0;i<10;i++)if((p[i]%2)==0){p[c]=p[i];c++;}return c;}void main(){int a[10]={0},n,c=0;for(n=0;n<10;n++)scanf("%d",a+n);fun(a,c);printf("c=%d\n",c);for(n=0;n<10;n++)printf("a[%d]=%d\n",n,a[n]);}我是这样编的,但我总觉得这样不合题意,return c好像没起作用,我是想把c的值返回到main函数中去,但不能
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-21
#include <stdio.h>

#define N 10

void move_odd(int a[], int n, int b[], int* odd_num) {
    int i, j = 0;
    for (i = 0; i < n; i++) {
        if ((a[i] & 1) == 1) {
            b[j] = a[i];
            j++;
        }
    }
    *odd_num = j;
}

int main() {
    int i;
    int a[N], b[N];
    int odd_num;
    for (i = 0; i < N; i++) {
        scanf("%d", &a[i]);
    }
    move_odd(a, N, b, &odd_num);
    for (i = 0; i < odd_num; i++) {
        printf("%d ", b[i]);
    }
    printf("\n");
    return 0;
}

本回答被网友采纳

编写程序,把数组中所有奇数放在另一个数组中并输出
include<stdio.h>int fun(int *p,int c){int i,b[10]={0},a=0;for(i=0;i<10;i++)if((p[i]%2)!=0){b[a]=p[i];a++;}for(i=0;i<a;i++)printf("b[%d]=%d\\n",i,b[i]);for(i=0;i<10;i++)if((p[i]%2)==0){p[c]=p[i];c++;}return c;}void main...

编写程序,把数组中所有奇数放在另一个数组中并返回。
printf("输出数组中的奇数:\\n");for(n=0;*t!=0;n++,t++)printf("%d",b[n]);}

把数组中所有的奇数放在另一个数组中返回
1 2 3 4 5 6 7 8 9 10 数组B:1 3 5 7 9 非得用个函数的话就定义一个全局数组变量 define N 10 int b[N];main(){int a[N],i,j;printf("Inte array A:\\n");for(i=0;i<N;i++)scanf("%d",&a[i]);choose(a,N);printf("array B:\\n");j=0;while(b[j]!='\\0...

...编写函数fun,把数组中的所有奇数放在另一个数组中。在主函数调用fun...
} printf("\\n");}int main(){ fun(); return 0;}

编写函数,把数组中所有奇数放在另一个数组中返回
void f(int a[],int n){ int t=100, b[t],i,m=0;for (i=0;i<t;i++)if (a[i]%2==1){ b[m]=a[i];m++;} for (i=0;i<m;i++)printf ("%5d",b[i]);}

...所有的奇数和偶数分别存放在另外两个数组中并输出
void main( ){ int i = 0, j = 0 , k = 0 , a[MAX] , odd[MAX], even[MAX] ;for( i = 0 ; i < MAX ; i ++ ) \/* 从键盘输入十个数,并存放于数组 a[MAX] 中 *\/ scanf("%d", &a[i] ) ;for( i = 0 ; i < MAX ; i ++ )odd[i] = -1 ; \/* 初始化...

java中怎样将一个数组中的元素全部加入到另一个数组中
int[] x={1,2}; int[] y=new int[2]; for(int i=0;i<x.length;i++){ y[i]=x[i];用循环遍历的方法就可以,上面的这个代码是把数组x里面的元素放到一个空数组y中。根据你的需求进行调整吧。

输入十个数组成数组,将为奇数的数放入另一个数组中
int A[10],B[10];printf("请输入数据:");for(i=0;i<10;i++)\/\/从键盘输入数据 scanf("%d",&A[i]);for(j=0;j<10;j++){ if(A[j]%2!=0)\/\/判断奇偶性 B[k++]=A[j];} printf("奇数为:")for(l=0;l<k;l++)printf("%d",B[l]);printf("\\n");} 程序在VC中调试...

...的一维数组,将奇数元素移到数组前面并将数组输出到屏幕,咋编程...
define N 15 int main(int argc,char *argv[]){ int a[N],i,j,k;srand((unsigned)time(NULL));for(i=0;i<N;i++)\/\/数组随机赋值 printf("%3d",a[i]=rand()%100);printf("\\n\\nAfter processing:\\n");for(i=0;i<N;i++){ if((a[i]&1)==0)for(j=i+1;j<N;j++)...

...成一个新的数组,在主函数中调用该函数,并循环输出新数组的内容_百度...
static void Main(string[] args) { int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; int[] newarr = OddArray(arr); foreach (int i in newarr) { Console.WriteLine(i); } Console.Read(); } public static int[] OddArray(int[]...

相似回答