#include<stdio.h>
int main()
{
int i,j,x,sum=0;
printf("计算100-999之间的水仙花数:\n");
for(i=100;i<1000;i++)
{
j=i;
while(j>0)
{
x=j%10;
sum=sum+x*x*x;
j/=10;
}
if(sum==i) printf("%d\t",i);
}
return 0;
}
//运行出来后一个结果都没有,为什么?

C语言水仙花数,求改错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 俺不理解 2021-12-22 10:44关注
你 sum 没清0 啊,每一轮需要把 sum 清0,你现在一直在累加,打个断点应该看得很清楚的
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用