2016-09-27 78 views
-2

我正在編寫一個程序來計算使用數組,數組的用戶輸入數量(如果他們輸入4,將有4循環的輸入數字值)多少偶數或奇數,並且我不知道如何計數甚至從一個陣列號或奇數..如何從數組中的用戶輸入中知道偶數和奇數? -c

#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(*)

第三值:2(*)

第四值:3(*)

第五值:6(*)

金額偶數:3

偶數編號:6,如圖2所示,奇數的6

金額:2

奇數號碼:7,3

*用戶輸入

類似的東西,不介意的順序指示符(-st,-nd,-rd)它不是用英文寫的真正的程序,對不起,如果有一些拼寫錯誤..

+0

總和與* *添加(+)來完成。我沒有看到你的代碼。 –

+1

在循環中執行和:'if(array [i]%2)odds + = array [i] else evens + = array [i]' –

+0

我該如何寫數組? –

回答

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; 
} 
+0

男人,這是解決這一切,謝謝大衛! –

0

您的代碼缺少一些東西:

  1. 一個變量來計算偶數
  2. 用於計算奇數的變量
  3. 偶數的數組(因爲您必須在最後呈現它們,您不一定需要這樣做,但我認爲這是學習如何處理數組的好方法)
  4. 爲奇數的數組(你不一定需要這一支,但再次...)

之後,當讀取用戶輸入一個數字,你也應該檢查一下,數字是奇數或偶數,並進行適當的計算。

+0

所以我需要將一個數組分成兩個?一個是偶數,另一個是奇數?那麼我可以調用它們並計算偶數組和奇數組中有多少個元素? –

+0

這將工作,而不是最優化的實現,但它肯定會工作。 –

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; 
    }