统计10个整数中奇数、偶数、素数和完数的个数

统计10个整数中奇数、偶数、素数和完数的个数

问题:

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

运行结果……………………………… 在这里插入图片描述
其它有关文章:

素数(判断,统计,范围输出)
完数 (判断一个完数、求范围内完数)

在这里插入图片描述
在这里插入图片描述

posted @ 2020-12-29 11:00  刘桓湚  阅读(689)  评论(0编辑  收藏  举报