题目:
程序:
1 #include
2
3 int main(void) {4 intn, a, b, c, t, A, B;5 printf("输入一个三位数整数:");6 scanf("%d",&n);7 do{8 /*a, b, c 分别是百位数,十位数,个位数*/
9 a = n/100;10 b = (n%100)/10;11 c = (n%10);12 /*百位数,十位数,个位数按照从大到小的顺序重排,以便下一步中求重排后的最大值A和最小值B*/
13 if(a
23 A = a * 100 + b * 10 +c;24 B = c * 100 + b * 10 +a;25 /*将最大数与最小数的差,重新赋给变量n,以便做循环判断或下次循环使用*/
26 n = A -B;27 /*输出过程*/
28 printf("%d - %d = %d\n", A, B, n);29 } while(n!=495 && n!=0);30 return 0;31 }
程序说明:
1. 程序大体思路可以看程序中注释,大体分为两个步骤:输入和循环中计算。其中循环中计算过程分为这么几个步骤:求个位十位百位上三个数字;个位十位百