??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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报