怎么回事!!!!!!

5. 多功能的结构体

题目ID:7213必做题100分

最新提交:

Wrong Answer

0 分

历史最高:

Wrong Answer

0 分

时间限制: 2000ms

空间限制: 256000kB

题目描述

你需要建立一个包含(a,b,c)的结构体,并支持以下函数:

Sort():使a,b,c从小到大排序

Swap(int type):

如果type=1,则交换a,b

如果type=2,则交换b,c

如果type=3,则交换a,c

Calc():输出算式gcd(a,b)*gcd(b,c) mod 100000+a+b+c的值

提示:gcd(a,b)代表求a和b的最大公因数

共n个结构体,给出指令,按指令输出

输入格式

给出n个结构体,每个结构体所占行数不定.

对于每个结构体中: 第一行三个正整数(a,b,c). 第二行一个正整数m .表示操作数. 接下来m行描述每个操作.

约定操作的格式如下:

Sort(): S

Swap(int type): Sw a(一个整数)

Calc(): C

输出格式

对于每个Calc()操作,输出一行表示答案

样例

Input 1

2 2 1 3 3 S Sw 3 C 2 2 2 2 S C

Output 1

7 10

样例解释

数据范围

对于100%的数据,满足n ≤ 100000,操作总数小于100000
我的代码:

#include<bits/stdc++.h>
using namespace std;
int a,b,c;
void So(){
	int minnum=1e9,maxnum=-1e9,sum=a+b+c;
	minnum=min(a,min(b,c));
	maxnum=max(a,max(b,c));
	a=minnum;
	c=maxnum;
	b=sum-maxnum-minnum;
}
void Sw(int n){
	if(n==1)swap(a,b);
	else if(n==1)swap(b,c);
	else if(n==1)swap(a,c);
}
void Calc(){
	int r=1,s1=0,s2=0;
	int d=a,e=b;
	while(r){
		r=d%e;
		if(r==0){
			s1=e;
			break;
		}
		d=e;
		e=r;
	}	
	d=b;
	e=c;
	r=1;
	while(r){
		r=d%e;
		if(r==0){
			s2=e;
			break;
		}
		d=e;
		e=r;
	}	
	cout<<(s1*s2)%100000+a+b+c<<endl;
	r=1;
}
int main(){
	int n,k,m;
	cin>>n;
	string f;
	for(int i=1;i<=n;i++){
		a=0;
		b=0;
		c=0;
		cin>>a>>b>>c;
		cin>>k;
		for(int j=1;j<=k;j++){
			cin>>f;
			if(f=="S"){
				So();
			}else if(f=="C"){
				Calc();
			}else{
				cin>>m;
				Sw(m);
			}
		}
	}
}

测试样例过了,但不对

你先把你的代码格式化一下…

以格式化

以AC了