#include<stdio.h>
int min(int n[]);
int max(int m[]);
int in(int ch);
int check(int a[]);
int main()
{
int ch;
printf("输入一个四位数:\n");
scanf("%d",&ch) ;
int a[4]={0},i=0;
do
{
a[i]=ch%10;
ch=ch/10;
i++;
}while(i<4);
if(check(a)==1)
printf("检测通过,确定为完全不同的四位数\n");
else
{
printf("错误,有重复!");
return 0;
}
printf("新的最小四位数:%d\n",min(a));
printf("新的最大四位数:%d\n",max(a));
printf("新的四位数:%d\n",max(a)-min(a));
}
int min(int a[])
{
int flag=4,i,j=0,temp,n1=0;
for(i=0;i<4;i++)
{
while(j+1<flag)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
j++;
}
flag=j;
j=0;
}
i=0;
do
{
n1=n1*10+a[i++];
}
while(i<4);
return n1;
}
int max(int a[])
{
int flag=4,i,j=0,temp,n2=0;
for(i=0;i<4;i++)
{
while(j+1<flag)
{
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
j++;
}
flag=j;
j=0;
}
i=0;
do
{
n2=n2*10+a[i++];
}
while(i<4);
return n2;
}
int check(int a[])
{
for(int i=0;i<4;i++)
{
for(int j=0;j<i;j++)
{
if(a[i]==a[j])
{
return 0;
}
}
}
return 1;
}