从键盘输入一个正整数(无符号长整型),将该正整数中的每位数字重新排列,分别组成一个最大数和一个最小数并依次输出,两数间用空格分隔。
【输入形式】
从键盘输入一个无符号长整型整数。
【输出形式】
输出最大数和最小数,两数间用空格分隔,最小数左端的0不应输出。
【样例输入】
47091
【样例输出】
97410 1479
#include<stdio.h>
int main() {
int a[20],n,l=0,t,smin=0,smax=0,i,j;
scanf("%d",&n);
while(n!=0){
a[l++]=n%10;
n/=10;
}
for(i=0;i<l-1;i++){
for(j=0;j<l-i-1;j++){
if(a[j]>a[j+1]){
t=a[j]; a[j]=a[j+1]; a[j+1]=t;
}
}
}
for(i=l-1;i>=0;i--){
smax=smax*10+a[i];
}
for(i=0;i<l;i++){
smin=smin*10+a[i];
}
printf("%d %d",smax,smin);
return 0;
}