熬夜打单机游戏 2021-10-28 23:21 采纳率: 100%
浏览 16
已结题

输出1-10000内水仙花数及个数,不知道为什么一直出错

#include<stdio.h>
#include<math.h>
int main()
{
int count=0,m,i,j,p,s=0;

for(i=1;i<10000;i++)
{
    j=i;
    while(i!=0){
        m=i%10;
        i=i/10;
        p=pow(m,3);
        s=s+p; }
    if(s!=j)continue;
    
    else { printf("1-10000的水仙花数有%ld\n",j);
           count++; }
}

printf("1-10000的水仙花数有%d个",count);
return 0;

}

img

  • 写回答

1条回答 默认 最新

  • nian念不忘 2021-10-28 23:40
    关注

    在for循环里,把i赋值给力j,while循环里应该也是j,因为for循环成不成立判断的是i,而你的i在while一直在改变。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月3日
  • 已采纳回答 10月29日
  • 创建了问题 10月28日