(第一段没过第二段过了)为什么(if+else if)不行
查看原帖
(第一段没过第二段过了)为什么(if+else if)不行
1534254
Byt3W1sp楼主2024/11/29 19:51
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define maxn 256
char str[maxn];
int main(){
	scanf("%s", str);
	int n1=strlen(str);
	
	int a=0, b=0, c=0;
	for(int i=0; i<n1-3; i+=5)
		if(str[i+3]>='0' && str[i+3]<='9')	
			if(str[i]=='a') a=(str[i+3]-'0');
			else if(str[i]=='b') b=(str[i+3]-'0');
			else c=(str[i+3]-'0');
		else
			if(str[i]=='a')
				if(str[i+3]=='b') a=b;
				else if(str[i+3]=='c')a=c;
			else if(str[i]=='b')
				if(str[i+3]=='a') b=a;
				else if(str[i+3]=='c')b=c;
			else
				if(str[i+3]=='b') c=b;
				else if(str[i+3]=='a')c=a;
	
	printf("%i %i %i\n", a, b, c);
	return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define maxn 256
char str[maxn];
int main(){
	scanf("%s", str);
	int n1=strlen(str);
	
	int a=0, b=0, c=0;
	for(int i=0; i<n1; i+=5)
		if(str[i+3]>='0' && str[i+3]<='9')	
			if(str[i]=='a') a=(str[i+3]-'0');
			else if(str[i]=='b') b=(str[i+3]-'0');
			else c=(str[i+3]-'0');
		else
			if(str[i]=='a'){
				if(str[i+3]=='b') a=b;
				if(str[i+3]=='c')a=c;
			}
			else if(str[i]=='b'){
				if(str[i+3]=='a') b=a;
				if(str[i+3]=='c') b=c;
			}
			else{
				if(str[i+3]=='b') c=b;
			    if(str[i+3]=='a') c=a;
			}
	
	printf("%i %i %i\n", a, b, c);
	return 0;
}
2024/11/29 19:51
加载中...