【C语言及程序设计】循环嵌套一定要注意变量的初始化

问题描述:求满足条件n=a!+b!+c!的所有三位数n并输出,其中a,b,c分别为n的百、十、个位数。

 1 #include "stdafx.h"
 2 
 3 int main()
 4 {
 5     int i, j, n,m, sum(0), prod(1);
 6     for (i = 1;  i< 1000; i++)
 7     {
 8         n = i; // 很容易忽略的地方
 9         sum = 0;// 很容易忽略的地方
10         for (; 1;)
11         {
12             m = n % 10;
13 
14             for ( j = 1; j <= m; j++)
15             {
16                 prod *= j;
17             }
18 
19             sum += prod;
20             prod = 1;
21 
22             if (n / 10 == 0)
23             {
24                 break;
25             }
26 
27             n /= 10;// 终止条件与变化因子的相对位置非常重要,而continue/break语句能让二者的配置非常灵活
28         }
29 
30         if (i == sum)
31         {
32             printf("%d\n", i);
33         }
34     }
35 
36     return 0;
37 }

感想:

终止条件与变化因子的相对位置非常重要,而continue/break语句能让二者的配置非常灵活

=

猜你喜欢

转载自www.cnblogs.com/miyazakehime/p/9139021.html