【问题描述】
从键盘输入一个正整数(无符号长整型),将该正整数中的每位数字重新排列,分别组成一个最大数和一个最小数并依次输出,两数间用空格分隔。
【输入形式】
从键盘输入一个无符号长整型整数。
【输出形式】
输出最大数和最小数,两数间用空格分隔,最小数左端的0不应输出。
【样例输入】
47091
【样例输出】
97410 1479
#include<stdio.h>
#include<string.h>
int main()
{
int t,k,i,y;
long int n;
char str[10],m[10];
while(scanf("%s",str) != EOF)
{
k=strlen(str);
y=str[0];
for (i=0;i<k-1;i++)
{
for(t=i+1;t<k;t++)
{
if(str[i]<str[t])
{
y=str[i];
str[i]=str[t];
str[t]=y;
}
}
}
sscanf(str,"%ld",&n);
printf("%ld",n);
for (i=0;i<k-1;i++)
{
for(t=i+1;t<k;t++)
{
if(str[i]>str[t])
{
y=str[i];
str[i]=str[t];
str[t]=y;
}
}
}
for(i=0;i<k;i++)
{
m[i]=str[i];
}
sscanf(m,"%ld",&n);
printf(" %ld",n);
return 0;
}
}