C语言 求水仙花数
解决时间 2021-05-16 11:08
- 提问者网友:刺鸟
- 2021-05-15 23:58
求水仙花数 帮忙看看我的程序有没有问题吧
不知道是不是程序问题就是运算不出来
运行后没有任何结果
一#include <stdio.h>
void main()
{int n=100,i,j,k;
printf("水仙花数是:");
while(n<1000)
{i=n/100;
j=(n/10)%10;
k=n%10;
if (n==i*i*i+j*j*j+k*k*k)
printf("%d\n",n);}
n=n+1;
}
二#include<stdio.h>
main()
{int i,a,b,c;
for(i=100;i<=999;i++)
{a=i/100;
b=i/10-a*100;
c=i-b*10-a*100;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d",i);
}
}
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-05-16 01:00
第一:
#include <stdio.h>
void main()
{
int n=100,i,j,k;
printf("水仙花数是:");
while(n<1000)
{
i=n/100;
j=(n/10)%10;
k=n%10;
if (n==i*i*i+j*j*j+k*k*k)
printf("%d\n",n);
n=n+1; //放到循环内部自增
}
}
第二种:变量b和c得到的是一个负数!
全部回答
- 1楼网友:西风乍起
- 2021-05-16 05:47
#include<stdio.h>
main()
{
int i,j,k;
for( i=0;i<10;i++)
for( j=0;j<10;j++)
for( k=1;k<10;k++)
if(i*i*i+j*j*j+k*k*k==i+10*j+100*k)
printf("%d",i+10*j+100*k);
}
- 2楼网友:爱难随人意
- 2021-05-16 04:21
第一给少个右大括号
我把我以前写的发出来,希望能给楼主有所帮助
#include <math.h>
int main(void)
{
int i=100,a,b,c;
printf("3位数中的水仙花数为:");
for(;i<=999;i++)
{
a=i/100;
b=(i/10)%10;
c=i%10;
if(pow(a,3)+pow(b,3)+pow(c,3)==i)
printf("%d\t",i);
}
getchar();
getchar();
return 0;
}
#include "stdio.h"
#include "math.h"
int main(void)
{
int i;
for(i=100;i<=999;i++)
{
if(i==pow((i/100%10),3)+pow((i/10%10),3)+pow((i%10),3))
printf("%d\n",i);
}
}
- 4楼网友:笑迎怀羞
- 2021-05-16 03:02
#include<stdio.h>
main()
{int i,a,b,c;
for(i=100;i<=999;i++)
{a=i/100;
b=(i-a*100)/10
;
c=i-b*10-a*100;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
getch();
}
改好了。
- 5楼网友:摆渡翁
- 2021-05-16 01:34
#include<stdio.h>
void main()
{
int i,j,k;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if((i*i+j*j+k*k)==(i*100+j+8+k))
printf("%i%d%d\n",i,j,k);
}
我要举报
大家都在看
推荐资讯