永发信息网

C语言,任何一个数字不全相同的三位数,经有限次“重排求差”操作,总得到495。所得的495即为三位黑洞数

答案:3  悬赏:10  手机版
解决时间 2021-03-01 19:53
任何一个数字不全相同的三位数,经有限次“重排求差”操作,总会得到495。最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。求编程
#include <stdio.h>
int main(void)
{
int g,s,b,n,d,x,z;
printf("Input an integer:");
scanf("%d",&n);

if(a=b=c)
printf("0");
else
while(n!=495)
{
g=n%10;
s=(n/10)%10;
b=n/100;

}
printf("%f\n",s);
return 0;
}
我编了一半编不下去了,,求帮助。。。
最佳答案

#include <stdio.h>
//#include "stdlib.h"
int main(void)
{
     int d[4],n;
     int i,j,t,max,min,k,num;
 printf("Input an integer:");
 scanf("%d",&n);
 num=0;     
     do   
 {
  d[2]=n%10;
    d[1]=(n/10)%10;
    d[0]=(n/100);
    if(d[0]==d[1] && d[1]==d[2])
{
printf("Input ERROR !");
return 0;
}
//按位降序,并求出最大数和最小数
max=0;
min=0;
k=1;
for(i=0;i<=2;i++)
{
for(j=2;j>i;j--)
{
if(d[j]>d[j-1])
{
t=d[j];d[j]=d[j-1];d[j-1]=t;
}
}
max=max*10+d[i];
min=min+d[i]*k;
k=k*10;
}
n=max-min;
printf("%d-%d=%d\n",max,min,n);
//system("pause");
  num+=1;
 }while(n!=495);
printf("number:%d",num);
return 0;
}
全部回答
先提取三位数的个、十、百位,判断个、十、百位不相等。进行排序比较,找出最大,最小数。再次组合成三位数,判断组合的三位数是不是495.大概思路就是这样了 再看看别人怎么说的。
这个用数组来做,给你提供一个思路吧: int a[5],b[5]; //分别来存重排后的最大 最小数的 个 十 百 位。 int max,min。 //把a,b数组里的存的3个数转化为3位数max ,min。 判断max-min是否为495,不是的话再重新操作。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
取3.4g只含羟基,不含其它官能团的液态饱和多
请教linux里的tee命令
中国人民银行建宁县支行在什么地方啊,我要过
韩寒的“毒”是什么意思。不是一篇小说,而是
魅蓝note3屏幕旋转失灵。
工业相机品牌有哪些
精品男装在哪里啊,我有事要去这个地方
哪物体排开的水的体积越大受到的浮力越大对吗
燃烧的远征之后,法师如何加点
dnf我的号被盗了 但我的装备锁着 他没拿走 你
在1970年以前,美国的共同基金大多数都是()
海信专卖店HS苏05015在什么地方啊,我要过去
跪求 D.C.资讯交流网-[综合论坛]-关闭注册 -
口4口x36=1口囗o 口口5=8口口口
密码,
推荐资讯
期间合计是什么意思
华为手机摄像头能不能转过来自拍呀
荷叶塘卖火车票几点下班
岳云中学475班班主任简介
珠江威腾wkp126k钢琴评价
灵艺阁红木地址在什么地方,想过去办事
怎么退出部落冲突游戏界面
男方怎样接待女方送亲团有什么讲究
杨姓四个字名字
南通市文化馆新市民文化服务中心地址在哪,我
烫发怎么变直?
我跟他说话他故意不说话,好像不在乎似的,但
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?