任意给出一个N位数,把它重新组成一个N位的最大数和一个最小数,算出两者间的差。

任意给出一个N位数,把它重新组成一个N位的最大数和一个最小数,算出两者间的差。

# include
using namespace std;
void bubblesort(int num[],int n);
int main()
{
	int num,n=0;
	cin>>num;
	int digit[100];
	while(num!=0)
	{
		digit[n]=num%10;//依次对数组求余取出最末尾的那个数放入数组
		n++;			//数组个数加一
		num/=10;		//除10去掉最末尾的数
	}
	bubblesort(digit, n);//对数组内的数进行排序
	int maxvalue=digit[n-1];
	for(int i=n-2;i>=0;i--)
	maxvalue=maxvalue*10+digit[i];//从后往前依次乘10取最大值
	int minvalue=digit[0];
	for(int j=1;jnum[i+1])//让数组按升序排序
			{
				int temp=num[i];
				num[i]=num[i+1];
				num[i+1]=temp;
			}
		}
	}

}

你可能感兴趣的:(数据结构)