还是c语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 17:28:59
如何编写函数,输入一个100到1000之间的数,判断它是否为素数,完数,水仙花数

#include <math.h>
main()
{
void pd(int);
int a;
scanf("%d",&a);
if(a<100||a>=1000) printf("input error!\n");
else
pd(a);
getch();
}
void pd(int n)
{
int i,flag=1;
int a,b,c;
for(i=2;i<=sqrt(n);i++)
if(n%i==0) {printf("%d bu shi sushu\n",n);flag=0;break; }
if(flag==1) printf("%d shi sushu\n",n);
for(i=1,flag=0;i<n;i++)
if(n%i==0) flag=flag+i;
if(flag==n) printf("%d shi wanshu\n",n);
else printf("%d bu shi wanshu\n",n);
a=n/100;
b=(n%100) /10 ;
c=n%10;
if (a*a*a+b*b*b+c*c*c==n) printf("%d shi shuixianhuashu\n",n);
else printf("%d bu shi shuixianhuashu\n",n);
}

编译通过

什么是水仙花数和完数