求救,本地编译和洛谷IDE结果不一致
查看原帖
求救,本地编译和洛谷IDE结果不一致
1377396
carlzh809楼主2024/10/3 17:18

如题,本题第二个点的数据,用下面这段代码在本地编译的结果,和洛谷IDE的结果不一致。请各位大佬看看是什么原因导致的,先谢过了。

#include<stdio.h>
#include<string.h>
int main(void)
{
	char s[260]={'\0'};
	scanf("%s", s);
	int a=0, b=0, c=0;
	
	while(s[0]!='\0'){
		switch(s[0]){
			case 'a':{
				if(s[3]=='a'){
				}
				else if(s[3]=='b'){
					a=b;
				}
				else if(s[3]=='c'){
					a=c;
				}
				else{
					a=s[3]-48;
				}
				break;
			}
			case 'b':{
				if(s[3]=='a'){
					b=a;
				}
				else if(s[3]=='b'){
				}
				else if(s[3]=='c'){
					b=c;
				}
				else{
					b=s[3]-48;
				}				
				break;
			}
			case 'c':{
				if(s[3]=='a'){
					c=a;
				}
				else if(s[3]=='b'){
					c=b;
				}
				else if(s[3]=='c'){
				}
				else{
					c=s[3]-48;
				}				
				break;
			}
		}
		strcpy(s, &s[5]);		//用第二段x:=x;的内容把第一段的的内容覆盖掉
	}
	
	printf("%d %d %d", a, b, c);
	
	
	return 0;
}

第二个点的输入

c:=5;a:=b;b:=c;c:=a;a:=a;b:=b;c:=c;a:=c;c:=a;a:=b;b:=c;c:=a;a:=a;b:=b;c:=c;a:=c;b:=a;a:=c;c:=b;a:=2;c:=a;b:=9;

输出

2 9 2
2024/10/3 17:18
加载中...