80分,已知错误,求调
查看原帖
80分,已知错误,求调
566903
福明o7楼主2022/10/18 00:07

大概是情况2没有判断导致的80(第一与第四点没过) 求大佬改一下

#include<bits/stdc++.h>
using namespace std;
char c1[105],c2[105],c3[105];
char mw[1005];
char ans[105];
bool f[1005];
int main(){
	memset(f,0,sizeof(f));
	for(int i=1;i<=104;i++){
		c1[i]=c2[i]=c3[i]=' ';
	}
	for(int i=1;i<=1004;i++){
		mw[i]=' ';
	}
	scanf("%s %s %s",c1+1,c2+1,c3+1);
	int len1=strlen(c1+1);
	int len2=strlen(c3+1);
	for(int i=1;i<=len1;i++){
		if(mw[c1[i]]!=' '&&mw[c1[i]]!=c2[i]){
			puts("Failed");
			return 0;
		}
		mw[c1[i]]=c2[i];
		f[c2[i]]=1;
	}
	int to=0;
	for(int i=1;i<=len2;i++){
		if(mw[c3[i]]==' '){
			puts("Failed");
			return 0;
		}
		else{
			ans[++to]=mw[c3[i]];
		}
	}
	for(int i=1;i<=to;i++){
		cout<<ans[i];
	}
	return 0;
}
2022/10/18 00:07
加载中...