c语言黑洞数习题,18.12.09-C语言练习:黑洞数 / Kaprekar问题

题目:

20181209160209195601.jpg

程序:

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. 程序大体思路可以看程序中注释,大体分为两个步骤:输入和循环中计算。其中循环中计算过程分为这么几个步骤:求个位十位百位上三个数字;个位十位百

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值