感觉你的思路有问题,再想想吧,给你个样例自己测测:
输入:
```
202312161036
7
```
输出:
```
1036
```
by Edge_coduck_s07738 @ 2023-12-16 10:38:08
啊这
by chenshixue @ 2023-12-16 10:47:07
思路问题,不能只光删最大的数字
by mdxz114514 @ 2023-12-16 10:50:05
```
#include<bits/stdc++.h>
using namespace std;
string st;
int n,a[251],l,k;
int main()
{
cin>>st;cin>>n;l=st.size();
for(int i=0;i<l;i++) a[i]=st[i]-'0';
for(int i=1;i<=n;i++)
for(int j=0;j<l;j++)
if(a[j]>a[j+1])
{
for(int k=j;k<l;k++) a[k]=a[k+1];
l--; break;
}
int i=0;
while(a[i]==0&&k<l-1) {k++;i++;}
for(int i=k;i<l;i++) cout<<a[i];
return 0;
}
```
```
#include<bits/stdc++.h>
#define MAXN 300
int main(){
char n[MAXN];
int k,j;
scanf("%s %d",n,&k);
int len=strlen(n);
for(int i=0;i<k;i++) {
for(j=0;j<len-1;j++)if(n[j]>n[j+1])break;
for(int l=j;l<len-1;l++)n[l]=n[l+1];
len--;
}
int i;
for(i=0;i<len;i++)if(n[i]!='0') break;
if(i==len)printf("0");
else for(;i<len;i++)printf("%c", n[i]);
return 0;
}
```
by Beck_B2_666 @ 2023-12-24 16:15:40
@[Edge_coduck_s07738](/user/787158) 麻烦问一下不是删7个吗,为什么得出来1036
by shenbingchen @ 2024-01-27 23:07:20
@[shenbingchen](/user/817981) 删完之后第一位是0,所以第一位去掉。
by Edge_coduck_s07738 @ 2024-01-31 08:07:18
@[Edge_coduck_s07738](/user/787158) 好的谢谢
by shenbingchen @ 2024-02-01 23:42:50