新手弱弱的问一句,加上12行和去掉12行的if会发生什么
查看原帖
新手弱弱的问一句,加上12行和去掉12行的if会发生什么
482623
一洛本谷通楼主2021/8/28 09:37
#include<bits/stdc++.h>
using namespace std;
char a[300];
int b[200],k;
int top=0;
int main(){
	gets(a);
	cin>>k;
	int len=strlen(a);
	for(int i=0;i<len;i++)
		if(a[i]<'9'&&a[i]>'0') 
			b[i+1]=a[i]-'0';
	while(k--){
		int i;
		for(i=1;i<=len+1;i++){
			if(b[i]!=-1&&b[i]<b[i-1]){
				top=i-1;
				b[i-1]=-1;
				break;
			}
		}
	}
	
	for(int i=1;i<=len;i++)
		if(b[i]!=-1)
			cout<<b[i];
	return 0;
}

这是一个0分代码 但是

#include<bits/stdc++.h>
using namespace std;
char a[300];
int b[200],k;
int top=0;
int main(){
	gets(a);
	cin>>k;
	int len=strlen(a);
	for(int i=0;i<len;i++)
		b[i+1]=a[i]-'0';
	while(k--){
		int i;
		for(i=1;i<=len+1;i++){
			if(b[i]!=-1&&b[i]<b[i-1]){
				top=i-1;
				b[i-1]=-1;
				break;
			}
		}
	}
	for(int i=1;i<=len;i++)
		if(b[i]!=-1)
			cout<<b[i];
	return 0;
}

这个代码为什么过不了样例???

2021/8/28 09:37
加载中...