44分求助

P1106 删数问题

感觉你的思路有问题,再想想吧,给你个样例自己测测: 输入: ``` 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


|