求10個整數中奇數、偶數、素數和完數的個數(C語言—數組)

問題:

統計10個整數中奇數、偶數、素數和完數的個數

程序…………………………………………

#include<stdio.h>
#include<math.h>  //sqrt
int main() 
{
    int a[10];    // 0 1 2 3 -6 -12 13 7 28 496
    int i,j,k=1;
    int sum=0,js=0,os=0,ss=0,ws=0;
    printf("原數據:");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]); 
    printf("\n"); 
    for(i=0;i<10;i++)
        if(a[i]<0)
            a[i]=-a[i];     //使負數變成正數
    for(i=0;i<10;i++)
    {  
        if(a[i]%2==0)
            os++;           //【偶數】
        if(a[i]%2==1)             //也可直接用 else 
            js++;           //【奇數】 
        if(a[i]>1)
        {
            k=1;            //注意:即使在開頭有k=1,但此if語句中也必須有 
            for(j=2;j<=sqrt(a[i]);j++)   //  <=
            {  
                 if((a[i])%j==0)
                 {
                     k=0;
                     break;
                 }
             }
             if(k!=0)     //可換成 if(k)
                 ss++;    //【素數】
         }
         if(a[i]>1)
         {
             sum=0;
             for(j=1;j<a[i];j++)
             {
                 if(a[i]%j==0)
                 sum+=j;
              }
             if(sum==a[i])
             {
                ws++;       //【完數】
                printf("%d是完數\n",a[i]);
             }
        }
    }
    printf("奇數個數:%d\n",js);
    printf("偶數個數:%d\n",os);
    printf("素數個數:%d\n",ss);
    printf("完數個數:%d\n",ws);
    getchar();
    return 0;
 } 

運行結果………………………………
在這裏插入圖片描述
在這裏插入圖片描述
其它有關文章:

素數(判斷,統計,範圍輸出)
完數 (判斷一個完數、求範圍內完數)

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章