卡布列克 运行出错可以帮忙改改不
吖如 2019-05-30 12:09:20 #include<stdio.h>
void kblk(int);
void parse_sort(int num,int*array);
void max_min(int*array,int*max,int*min);
void parse_sort(int num,int *array);
int count=0;
int main()
{
int n;
printf("please enter a four bit integer:");
scanf("%d",&n);
kblk(n);
}
void kblk(int num)
{
int array[4],max,min;
if(num!=6174&&num)
{
parse_sort(num,array);
max_min(array,&max,&min);
num=max-min;
printf("[%d]:%d-%d=%d",++count,max,min,num);
kblk(num);
}
}
void parse_sort(int num,int*array)
{
int i,*j,*k,temp;
for(i=0;i<4;i++)
{
j=array+3-i;
*j=num%10;
num/=10;
}
for(i=0;i<3;i++)
for(j=array,k=array+1;j<array+3-i;j++,i++)
if(*j>*k)
{
temp=*j;
*j=*k;
*k=temp;
}
return;
}
void max_min(int *array,int *max,int*min)
{
int*i;
*min=0;
for(i=array;i<array+4;i++)
*min=*min*10+*i;
*max=0;
for(i=array+3;i>=array;i--)
*max=*max*10+*i;
return;
}