最大值和最小值
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
- 小明在上C语言课时老师布置了一道编程作业,要求是给你一个数(数的长度小于100)让你求出由该数的数字组成的最大值和最小值,由于小明编程学的不好但为了完成作业,想请你帮助他。
剩下就是输出的问题的
输出最大的 要记得特例00000 只输出0就行了
输出最小的 要记得去掉开头为0的 还有特例0000
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int main()
{
int n;
char str[105];
scanf("%d",&n);
while(n--)
{
memset(str,0,sizeof(str));
scanf("%s",str);
int len=strlen(str);
sort(str,str+len);
int flag1=0,flag2=0;
for(int i=len-1;i>=0;i--)
if(str[i]!='0')
{
flag1=1;
printf("%c",str[i]);
}
else if(flag1)
printf("%c",str[i]);
if(!flag1)
printf("0");
printf(" ");
for(int i=0;i<len;i++)
if(str[i]!='0')
{
flag2=1;
printf("%c",str[i]);
}
else if(flag2)
printf("%c",str[i]);
if(!flag2)
printf("0");
printf("\n");
}
return 0;
}