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.