用N个1-9的数字顺序组合成一个多位数,现要求从中删除M个数字(M<N),使得剩下的数为最大;
用N个1-9的数字顺序组合成一个多位数,现要求从中删除M个数字(M<N),使得剩下的数为最大;#include<stdio.h>
#include<string.h>
int main()
{
int m,n,i,j,t;
char a[10]="\0",b[10]="\0";
scanf("%s%d",a,&m);
n=(int)strlen(a);
if(m==n)
{
printf("0\n");
return 0;
}
t=-1;
for(j=0;j<n-m;j++)
{
t++;
b[j]=a[t];
for(i=t;i<m+j+1;i++)
{
if(b[j] < a[i])
{
b[j]=a[i];
t=i; t起什么作用???
}
}
}
printf("%s\n",b);
return 0;
}
[ 本帖最后由 huwengui 于 2011-6-17 12:25 编辑 ]