programmecantrun 2022-11-06 18:38 采纳率: 76.2%
浏览 25
已结题

n位数水仙花数pta上的

img

img


??switch?为什么会这样子?把break去掉也是这样的

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-11-06 19:07
    关注

    题主的代码里,switch()case 部分没问题,问题出在第16行至第23行间代码里。建议换种写法,供参考:

    #include <stdio.h>
    #include <math.h>
    int main()
    {
        int N, i, p, t, sum, n, m, k;
        printf("input num(3<= N <=7):");
        scanf("%d", &N);
        p = pow(10, N);
        for (i = pow(10, N - 1); i < p; i++) {
            for (sum = 0, t = i; t > 0; t /= 10) {
                m = N; k = 1;
                n = t % 10;
                while (m--)k *= n;
                sum += k;
            }
            if (sum == i)
                printf("%d\n", i);
        }
        return 0;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月4日
  • 创建了问题 11月6日