0
已解决
王欣怡
新手光能
新手光能
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
int m,n;
cin>>n;
for(int k=1;k<=n;k++)
{
cin>>s>>m;
for(int i=1;i<=m;i++)
{
for(int j=0;j<s.size();j++)
{
if(s[j]>s[j+1] || j==s.size()-1)
{
s.erase(j,1);
break;
}
}
}
if(s[0]=='0')s.erase(1,1);
cout<<s<<endl;
}
return 0;
}
我的代码哪里有问题?求大佬指点
1
已采纳
赵逸凡
初级启示者
初级启示者
在cin>>s>>m;
后面加 l=s.size();
定义l;
for(int i=1;i<=m;i++)
改成
while(m--)
for(int j=0;j<s.size();j++)
改成
for(int j=0;j<l;j++)
在break前面加一条语句 l--;
后面你基本都写错了
j等于0;
当(s[j]=='0'&&j<l-1)
{
j++;
}
循环(int c=j;c<l;c++)
{
输出<<s[c];
}
输出<<endl;
望采纳谢谢
@王欣怡
赵逸凡在2018-08-14 11:31:13追加了内容
0