为什么我最后一个样例过不了?我和样例的输出都是一样的
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
char num[300];
int len, k;
inline void solve() //删除前导零
{
for(int i = 0; i <= len; ++i)
{
if (num[i] != '0') break;
if (num[i] == '0')
{
for(int j = 0; j < len; ++j)
num[j] = num[j + 1];
--len;
}
}
}
int main()
{
gets(num);
scanf("%d", &k);
len = strlen(num);
while (k)
{
int i = 0;
bool ok = false;
for(; i < len - 1; ++i)
{
if (num[i] > num[i + 1] && num[i] != 0 && num[i + 1] != 0)
{
for(int j = i; j < len; ++j)
num[j] = num[j + 1];
--len;
solve();
ok = true;
break;
}
}
if (ok == false) --len;
--k;
}
if (len == 0)
{
printf("%d\n", 0);
return 0;
}
for(int i = 0; i < len; ++i)
if (num[i]) printf("%c", num[i]);
return 0;
}