我如何知道用户在数组中输入的偶数和奇数? -C

时间:2016-09-27 14:19:45

标签: c arrays

我正在研究一个程序来计算使用数组的偶数或奇数,数组的用户输入数量(如果它们输入4,将有4个循环输入数值)我不知道如何从数组中计算偶数或奇数..

#include<stdio.h> int main(){
int array[10];
int i,j,k;

printf("Amount of Array :");
scanf("%d", &j);

for(i=0;i<j;i++){
printf(" %d value : ",i+1);
scanf("%d", &array[i]);
}

printf("Amount of even numbers : %d", array[i]%2 );}

完成的程序需要像:

  

数量:5(*)

     

第一个值:6(*)

     

第二个值:7(*)

     

第3个值:2(*)

     

第4个值:3(*)

     

第5个值:6(*)

     

偶数:3

     

偶数是:6,2,6

     

奇数的数量:2

     

奇数是:7,3

*用户输入

类似的东西,不介意顺序指示符(-st,-nd,-rd)它不是用真正的程序用英语写的,对不起,如果有一些错误的话......

3 个答案:

答案 0 :(得分:0)

您的代码遗漏了一些内容:

  1. 计算偶数的变量
  2. 计算奇数的变量
  3. 偶数的数组(因为你必须在结尾处显示它们,你不一定需要它,但我认为这是学习如何处理数组的好方法)。
  4. 奇数的数组(你不一定需要这个,但是......)
  5. 然后,每当您从用户输入中读取一个数字时,您还应该检查该数字是奇数还是偶数并进行正确的计算。

答案 1 :(得分:0)

我会沿着这些方向做点什么:

#include<stdio.h>

int main(){
  int array[10];
  int i,j,k;

  int even_number_count;
  int odd_number_count;

  printf("Amount of Array :");
  scanf("%d", &j);

  for(i=0;i<j;i++){
    printf(" %d value : ",i+1);
    scanf("%d", &array[i]);
  }

  even_number_count=0;
  odd_number_count=0;

  printf("Even numbers are: ");
  for(i=0;i<j;i++){
    if (array[i] % 2 == 0) {
      printf("%d  ", array[i]);
      even_number_count++;
    }
  }
  printf("\n");

  printf("Odd numbers are: ");
  for(i=0;i<j;i++){
    if (array[i] % 2 != 0) {
      printf("%d  ", array[i]);
      odd_number_count++;
    }
  }
  printf("\n");

  printf("Amount of even numbers : %d\n", even_number_count );
  printf("Amount of odd numbers : %d\n", odd_number_count );

  return 0;
}

答案 2 :(得分:0)

 int main() 
 {

  int array[10];
  int index,length,evencount;

  printf("Amount of Array :");
  scanf("%d", &length);

  for(index=0;index<length;index++){
     printf(" %d value : ",index+1);
     scanf("%d", &array[index]);
  }

  for(index=0;array[index]%2==0 && index<length ;index++)
     evencount++;

  printf("\n\nAmount of even numbers :%d\nThe Even numbers are:",evencount);
  for(index=0;index<length;index++)
      (array[index]%2==0)?printf("%d ",array[index]):printf(" ");

   printf("\n\nAmount of odd numbers :%d\nThe odd numbers are:",length-evencount);
  for(index=0;index<length;index++)
      (array[index]%2!=0)?printf("%d ",array[index]):printf(" ");

   return 0;
   }