0
已解决
毕小曼
初级光能
初级光能
#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
int main()
{
string s;
int m,n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s;
cin>>m;
int k=s.size();
while(m--)
{
for(int i=0;i<k;i++)
{
if(s[i]>s[i+1] || i==k-1)
{
s.erase(i,1);
k--;
break;
}
}
}
if(s[1]=='0' && s[0]=='0')cout<<'0';
while(s[0]=='0' && k>1)
{
s.erase(0,1);
}
cout<<s<<endl;
}
return 0;
}
哪错了?
帮个忙
0
已采纳
王浩然
新手光能
新手光能
if(s[i]>s[i+1] || i==k-1)
{
s.erase(i,1);
k--;
break;
}
改成
if(s[i]>s[i+1] || i==k-1)
{
s.erase(i,1);
m--;
k--;
break;
}
if(s[1]=='0' && s[0]=='0')cout<<'0';//删掉
while(s[0]=='0' && k>1)
{
s.erase(0,1);
}
改成
while(s[0]=='0' && k>1)
{
k--;
s.erase(0,1);
}
还要在第二重循环判断空串的情况
王浩然在2018-08-16 07:53:05追加了内容
if(m>=x)
{
flag=0;
cout<<endl;
break;
}
王浩然在2018-08-16 07:55:03追加了内容
然后底下去0的改成这样
if(flag==1)
{
while(s[0]=='0' && k>1)
{
k--;
s.erase(0,1);
}
}
0