#include<stdio.h>
int fun(int num) {
int a,b,c;
a=num/100; //取百位
b=num/10%10; //取十位
c=num%10; //取个位
if(a*a*a+b*b*b+c*c*c==num) { //水仙花数判断
return 1;
} else {
return 0;
}
}
int main() {
int num;
scanf("%d",&num);
if(fun(num))
printf("是");
else
printf("不是");
return 0;
}
给你改一下吧
int main()
{
int n=0;
int i=2;
int x;
for(x=2;x<=100;x++)
{
n=0;
i=2;
while(i<x)
{
if(x%i==0)
{
n=1;
break;
}
i++;
}
if(n==0)
printf("%d ",x);
}
return 0;
}
循环调用判断是否为质数的函数,返回值判断质数就好了
#include<stdio.h>
int prime(int x)
{
for(int j=2;j<=x/j;j++)
{
if(x%j==0)
{
return 0;
}
}
return 1;
}
int main()
{
for(int i=2;i<=100;i++)
{
if(prime(i))
{
printf("%d ",i);
}
}
return 0;
}
供参考:
#include <stdio.h>
int main()
{
int n ,i ,x;
for (x = 100; x < 1000; x++)
{
i = x; n = 0;
while(i) //求得数 x 每位数字的立方和
{
n += (i%10)*(i%10)*(i%10);
i /= 10;
}
if (n == x)//水仙花数判断,如: 153 = 1*1*1 + 5*5*5 + 3*3*3
printf("%d ", x);
}
return 0;
}