隔离奇数和偶数

时间:2015-05-09 11:09:17

标签: c

#include <include.h>

#define BILMAX 10

int main(void)
{
    int num[BILMAX], i;

    printf("insert 10 number and separated by space\n");

    for(i = 0; i < 10; i++)
        scanf("%d", &num[i]);

    printf("\n\nEven Number: \n")

    for(i = 1; i < 10; i++)
        if(i % 2 == 0)
            printf("%d", i);

    printf("\n\nOdd Number: \n");

    for(i = 1; i < 10; i++)
        if(i % 2 != 0)
            printf("%d", i);

    geth();
}

我希望输出如下:

  

插入10个数字并按空格分隔

     

1 2 3 4 5 6 7 8 9 10

     

偶数:

     

2 4 6 8 10

     

奇数:

     

1 3 5 7 9

我的代码不起作用。我需要一些帮助。这是我的迷你项目。

4 个答案:

答案 0 :(得分:2)

您正在检查循环变量i,而不是值num[i]。使用

for(i=1; i<10; i++)    
{    
    if(num[i]%2 == 0)
        printf("%d",num[i]);    
}

答案 1 :(得分:1)

#include <iostream>

int main()
{
  const int n = 10;
  int array[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  int odd[n/2];
  int even[n/2];
  int l = 0; int k = 0;
  for (int i = 0; i < n; i++) {
    if ((array[i] % 2) == 0) {
      even[l] = array[i];
      l++;
    } else {
      odd[k] = array[i];
      k++;
    }
  }

  std::cout << "Even Number: " << "\n";
  for (int i = 0; i < n/2; i++) {
    std::cout << even[i] << " ";
  }

  std::cout << "\nOdd Number: " << "\n";
  for (int i = 0; i < n/2; i++) {
    std::cout << odd[i] << " ";
  }
}

答案 2 :(得分:1)

如果它是C程序,那么它看起来像

#include <stdio.h>

#define BILMAX 10

int main( void )
{
    int num[BILMAX];
    int i;

    printf( "Enter %d numbers separated by space\n", BILMAX );

    for ( i = 0; i < BILMAX; i++ ) scanf( "%d", &num[i] );

    printf( "\n\nEven Numbers\n" )

    for ( i = 0; i < BILMAX; i++ )
    {
        if ( num[i] % 2 == 0 ) printf( "%d ", num[i] );
    }

    printf("\n\nOdd Numbers\n");

    for ( i = 0; i < BILMAX; i++ )
    {
        if ( num[i] % 2 != 0 ) printf( "%d ", num[i] );
    }

    getchar();
}

如果它是C ++程序,那么它看起来像

#include <iostream>

int main()
{
    const int BILMAX = 10;
    int num[BILMAX];

    std::cout << "Enter " << BILMAX << " numbers separated by space\n"; 

    for ( int i = 0; i < BILMAX; i++ ) std::cin >> num[i];

    std::cout << "\n\nEven Numbers\n";

    for ( int x : num )
    {
        if ( x % 2 == 0 ) std::cout << x << ' ';
    }

    std::cout << "\n\nOdd Numbers\n";

    for ( int x : num )
    {
        if ( x % 2 != 0 ) std::cout << x << ' ';
    }

    std::cin.get();
    std::cin.get();
}

答案 3 :(得分:0)

  #include <stdio.h>  //use stdio.h instead of include .h//
  #include <conio.h>  //include conio.h if you are using getch()/
 #define BILMAX 10

int main(void)
 {
int num[BILMAX], i;

printf("insert 10 number and separated by space\n");

for(i = 0; i < 10; i++)
   {
    scanf("%d", &num[i]);//print num[i] instead of i//
   }

  printf("\n\nEven Number: \n");

  for(i = 0; i < 10; i++)
   {
    if(num[i] % 2 == 0)
        printf("%d ", num[i]);//print num[i] instead of i//
   }

printf("\n\nOdd Number: \n");

for(i = 0; i < 10; i++)
   {
     if(num[i] % 2 != 0)
        printf("%d ", num[i]);
   }
   getch();  
   return 0;

  }