1. 程式人生 > >C語言 統計輸入任意多數字的偶數和奇數的個數,並輸出相應的內容

C語言 統計輸入任意多數字的偶數和奇數的個數,並輸出相應的內容

方法一:單純應用陣列實現。

#include<stdio.h>
main()
{
    int a[100],i,j,m=0,n=0,k=0;  //陣列上限定為100
    char s;
    printf("請輸入數值:\n");
    for(i=0; ;i++)
    {
       scanf("%d",&a[i]);
       m++;        //統計輸入了多少個數
       s=getchar();   //判斷回車結束符
       if(s=='\n')
        break;
    }
    printf("陣列中的偶數為:\n");
    for
(i=0;i<m;i++) { if(a[i]%2==0) { printf("%d ",a[i]); //輸出偶數 n++; //統計偶數的個數 } } printf("\n"); printf("陣列中的奇數為:\n"); for(i=0;i<m;i++) { if(a[i]%2!=0) { printf("%d ",a[i]); //輸出奇數 k++; //統計偶數的個數
} } printf("\n"); printf("陣列中偶數的個數:%d\n",n); printf("陣列中奇數的個數:%d\n",k); }

方法二:應用陣列指標實現。

#include<stdio.h>
main()
{
    int a[100],i,j,m=0,n=0,k=0;  //陣列上限定為100
    int *p;
    char s;
    printf("請輸入數值:\n");
    for(i=0; ;i++)
    {
       scanf("%d",&a[i]);
       m++;        //統計輸入了多少個數
s=getchar(); //判斷回車結束符 if(s=='\n') break; } p=a; printf("陣列中的偶數為:\n"); for(i=0;i<m;i++) { if(*(p+i)%2==0) { printf("%d ",*(p+i)); //輸出偶數 n++; //統計偶數的個數 } } printf("\n"); printf("陣列中的奇數為:\n"); for(i=0;i<m;i++) { if(*(p+i)%2!=0) { printf("%d ",*(p+i)); //輸出奇數 k++; //統計偶數的個數 } } printf("\n"); printf("陣列中偶數的個數:%d\n",n); printf("陣列中奇數的個數:%d\n",k); }

方法三:應用指標的指標實現(純屬多餘,只是幫助瞭解指標的概念)。

#include<stdio.h>
main()
{
    int a[100],i,j,m=0,n=0,k=0;  //陣列上限定為100
    int *p,**q;
    char s;
    printf("請輸入數值:\n");
    for(i=0; ;i++)
    {
       scanf("%d",&a[i]);
       m++;        //統計輸入了多少個數
       s=getchar();   //判斷回車結束符
       if(s=='\n')
        break;
    }

    p=a;
    q=&p;
    printf("陣列中的偶數為:\n");
    for(i=0;i<m;i++)
    {
        if(*(*q+i)%2==0)
        {
            printf("%d ",*(*q+i));  //輸出偶數
            n++;    //統計偶數的個數
        }
    }
    printf("\n");
    printf("陣列中的奇數為:\n");
    for(i=0;i<m;i++)
    {
        if(*(*q+i)%2!=0)
        {
            printf("%d ",*(*q+i));  //輸出奇數
            k++;    //統計偶數的個數
        }
    }
    printf("\n");
    printf("陣列中偶數的個數:%d\n",n);
    printf("陣列中奇數的個數:%d\n",k);
}