#include<stdio.h>
#include<string.h>
//#include<math.h>
int main()
{
	  int ncase;
	  char s[110],ans[110];
	  int m,len,sign,max,num;
	  scanf("%d\n",&ncase);
	  while(ncase--)
	  {
		    num=sign=0;
		    scanf("%s%d",s,&m);
		    len=strlen(s);
		    for(int i=0;i<len-m;i++)   //找m次最大值 
		    {
			      max=-1;
			      for(int j=sign;j<=m+i;j++)   //j的范围不能错~保证位数  
			      {
				        if(max<s[j]-‘0‘)
				        {
					          max=s[j]-‘0‘;
					          sign=j;
				        }
			      }
			      ans[num++]=s[sign++];
		    }
		    for(int i=0;i<len-m;i++)
			    printf("%d",ans[i]-‘0‘);
		    printf("\n");
	  }
}
原文:http://www.cnblogs.com/mycapple-zgs-111411/p/4619735.html