
#include<stdio.h>
int hd(int a,int n);//输出的函数
int main()
{
int n,x;
scanf("%d",&x);
int a;
for(n=1;;n++)//循环
{
a=hd(x,n);//输出+取差
if(a==495)//判断差是否为495
{
break;//结束循环
}
x=a;//新的数为差
}
return 0;
}
int hd(int a,int n)
{
int b,s,g;
int t;
b=a/100;//取百位数
s=a/10%10;//取十位数
g=a%10;//取个位数
if(b<s)//百十个位从大到小排序
{
t=b;
b=s;
s=t;
}
if(s<g)
{
t=g;
g=s;
s=t;
}
if(b<s)
{
t=b;
b=s;
s=t;
}
int c=100*b+10*s+g-100*g-10*s-b;//差值
printf("%d: %d - %d = %d\n",n,100*b+10*s+g,g*100+s*10+b,c);
return c;
}
这是一个C语言程序,它通过不断计算并输出数字的百位、十位和个位重新排序后的差值,直到找到差值为495为止。程序首先读取一个初始数字,然后在循环中调用`hd`函数进行处理。`hd`函数对输入数字的三位数进行排序并返回差值,同时打印当前的计算过程。最终,当差值等于495时,循环结束。
677

被折叠的 条评论
为什么被折叠?



