A1011.World Cup Bettiing(20)

自己的代码

#include <cstdio>
//#include <iostream> 
#include <cstdlib>
#include <algorithm>
using namespace std;
struct node{
	int index;
	double content;
}B[4];
int main(){
	double A[10]={},temp;
	for(int i=1;i<10;i++){
		scanf("%lf",&temp);
		A[i]=temp;
	}
		printf("123为什么不输出这条语句!!!");
	for(int i=0;i<=2;i++){
		B[i].content=max(max(A[3*i+1],A[3*i+2]),max(A[3*i+2],A[3*i+3]));
		if(B[i].content==A[3*i+1]){
			B[i].index=3*i+1;
		}else if(B[i].content==A[3*i+2]){
			B[i].index=3*i+2;
		}else if(B[i].content==A[3*i+3]){
			B[i].index=3*i+3;
		}
		/*switch(B[i].content){
			case A[3*i+1]:
				B[i].index=3*i+1;
				break;
			case A[3*i+2]:
				B[i].index=3*i+2;
				break;
			case A[3*i+3]:
				B[i].index=3*i+3;
				break;
		}*/	
	} 
	for(int i=0;i<=2;i++){
		int result=B[i].index%3;
		switch(result){
			case 0:
				printf("L ");
				break;
			case 1:
				printf("W ");
				break;
			case 2:
				printf("T ");
				break;	
		}
	}
	double sum=0;
	sum=(B[0].content*B[1].content*B[2].content*0.65-1)*2;
	printf("%.2f",sum);
	return 0;
}

参考答案

#include <cstdio>
char S[3]={'W','T','L'};
int main(){
	double ans=1.0,tmp,a;
	int idx;
	for(int i=0;i<3;i++){
		tmp=0.0;
		for(int j=0;j<3;j++){
			scanf("%lf",&a);
			if(a>tmp){
				tmp=a;
				idx=j;
			}
		}
		ans*=tmp;//按公式累乘
		printf("%c ",S[idx]); 
	}
	printf("%.2f",(ans*0.65-1)*2);
	return 0;
} 

总结:

1,自己的代码中想引用c++库中的max函数,但遇到一些问题,总结,头文件需要#include<cstdlib>这个是c++的库文件,#include<algorithm>这个是max的库文件,另外#include<cstdio>和#include<iostream>是同样的效果,即输入输出流头文件,另外using namespace stdnamespace   就是一个名字的空间。是为了避免名字冲突而使用的。在不同的空间里可以使用同一个名字而不会引起名字冲突. 它的声明就像声明一个类一样。 可以将其理解为使用标准库,这几个函数缺一不可。

2,switch(a):case b,这里的ab都必须是常量,不可以变化,可以采用赋值将变化的量赋给常量再放到switch中。否则就要采用if else系列了。

3,本题其实相对很简单,就是九个数,我弄的太麻烦了。

4,关于输出的问题,日后回来填坑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值