上次训练的题目 昨天WA一直找不到原因 原来是BIGGEST拼成BIGGSET~ 实在让我恍然大悟~
搜了一下 别人用了STL的函数 ~接下来得学学了~
#include <iostream>
using namespace std;
int a[82];
char c[82];
void isort(int e)
{
int i,j,temp;
for(i=0;i<e;i++)
for(j=i+1;j<=e;j++)
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
return ;
}
int main()
{
int n,cases,m,i,j,temp;
scanf("%d",&n);
while(n--)
{
scanf("%d",&cases);
getchar();
gets(c);
m=strlen(c);
for(i=0;i<m;i++)
a[i]=c[m-1-i]-'0';
for(i=1;i<m;i++)
{
for(j=i-1;j>=0;j--)
if(a[i]<a[j])
break;
if(j==-1)
isort(i);
else
break;
}
if(i==m)
printf("%d BIGGEST/n",cases);
else
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
printf("%d ",cases);
for(i=m-1;i>=0;i--)
printf("%d",a[i]);
printf("/n");
}
}
return 0;
}