Seanjimxx 2021-11-02 15:04 采纳率: 83.3%
浏览 45
已结题

C语言求水仙花数错误,望指点

img

  • 写回答

3条回答 默认 最新

  • 关注

    item是for循环变量,不要用item去操作。另外求3次方是pow(i,3)。完整代码修改如下

    #include <stdio.h>
    #include <math.h>
    int main()
    {
        int n;
        scanf("%d",&n);
        if (n>=3 && n<=7)
        {
            int item,sum;
            int i,j;
            int m = pow((double)10,n);
            for (item = pow((double)10,(n-1));item<m;item++)
            {
                sum = 0;
                int p = item;
                //这下面的修改了
                while(p)
                {
                    i =  p%10;
                    sum += pow((double)i,3);
                    p/=10;
                }
                if(item == sum)
                    printf("%d\n",item);
            }
        }else{
            printf("Please put in the right number!");
        }
        return 0;
    }
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日