统计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;
}
运行结果………………………………
其它有关文章:
素数(判断,统计,范围输出)
完数 (判断一个完数、求范围内完数)
转载于网络 侵权联系作者立即删除QAQ