#include<stdio.h>
int count=0;
void vr6174(int num);
void parse_sort(int num,int *each);
void max_min(int *each,int *max,int *min);
int main()
{
int n;
printf("Please input n: ");
scanf("%d",&n);
printf("Output:\n");
if(n>9999||n==0)
{
printf("Input error!\n");
return 0;
}
vr6174(n);
return 0;
}
void vr6174(int num)
{
int each[4],max,min;
if(num!=6174&&num)
{
parse_sort(num,each);
max_min(each,&max,&min);
num=max-min;
printf("[%d]: %d-%d=%d\n",++count,max,min,num);
vr6174(num);
}
}
void parse_sort(int num,int *each)
{
int i,*j,*k,temp;
for(i=0;i<=4;i++)
{
j=each+3-i;
*j=num%10;
num/=10;
}
for(i=0;i<3;i++)
{
for(j=each,k=each+1;j<=each+3-1;j++,k++)
if(*j>*k)
{
temp=*j;
*j=*k;
*k=temp;
}
}
}
void max_min(int *each,int *max,int *min)
{
int *i;
*min=0;
for(i=each;i<each+4;i++)
*min=*min*10+*i;
*max=0;
for(i=each+3;i>=each;i--)
*max=*max*10+*i;
}
卡布列克常数
最新推荐文章于 2022-12-31 13:56:41 发布