首页 > 代码库 > NYOJ-最大值和最小值

NYOJ-最大值和最小值

最大值和最小值

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
描述
小明在上C语言课时老师布置了一道编程作业,要求是给你一个数(数的长度小于100)让你求出由该数的数字组成的最大值和最小值,由于小明编程学的不好但为了完成作业,想请你帮助他。
输入
第一行输入一个数N(0<N<=100),表示有N组测试数据。接下来的N行每行输入一个数M。
输出
每组输出占一行,输出由M的数字组成的最大值和最小值,并且最大值和最小值之间用空格隔开。
样例输入
2
12345045789123
899000124
样例输出
98755443322110 1122334455789
998421000 124899
代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
	int N,i;
	char a[110];
	scanf("%d",&N);
	while(N--)
	{
		scanf("%s",a);
		int len=strlen(a);
		sort(a,a+len);
		for(i=len-1;i>=0;--i)
		printf("%c",a[i]);
		printf(" ");
		for(i=0;i<len-1;++i)
		if(a[i]!='0')
		break;
		for(;i<len;++i)
		printf("%c",a[i]);
		printf("\n");
	}
	return 0;
}

NYOJ-最大值和最小值