1069 1 如果用do while 数组里高位可能未被0覆盖 2 固定四位数

#include 
#include 
#include 
using namespace std;
int a[100];
void change(int n)
{
	for(int i = 0; i < 4; i++)
	{
		a[i] = n % 10;
		n /= 10;
	}
}
int chan(int a[])
{
	int sum = 0;
	for(int i = 0; i < 4; i++)
	{
		sum = sum *10 + a[i];
	} 
	return sum;
}
bool cmp(int a,int b)
{
	return a > b;
}
int main()
{
	int n,b,c;
	int num = 0;
	scanf("%d",&n);
	do{
		 change(n);
		 sort(a,a+4,cmp);
		 b = chan(a);
		 sort(a,a+4);
		 c = chan(a);
	     n = b - c ;
		printf("%04d - %04d = %04d\n",b,c,n);
	}while(n != 6174 && n != 0);
	return 0;
}

 

你可能感兴趣的:(1069 1 如果用do while 数组里高位可能未被0覆盖 2 固定四位数)