C语言 删数问题
输入一个高精度的大正整数S(S最长可达240位),去掉其中任意N位数字后剩下的数字按原次序组成一个新的正整数S’。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数S’最小。现在我用到的思路是:每次从左往右读到第一个是s[i-1]<s[i]>s[i+1]时跳过它不输出,可是两端的数字字符怎么处理呢? 求教!
程序代码:#include<stdio.h>
#include<string.h>
int main()
{
int i,j,k,n;
scanf("%d",&n);
while(n--)
{
char bit[10000] = {0};
int len,s,min = 0;
scanf("%d%d",&len,&s);
int r = len-s;
scanf("%s",bit);
for(i = 0;i<r;i++)
{
for(j = min;len-j>r-i-1;j++)
if(bit[j]<bit[min] && (bit[j]!='0'||i!=0))
min = j;
putchar(bit[min++]);
}
printf("\n");
}
return 0;
}http://www.