ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1018 锤子剪刀布 (20 分)

2022-03-02 17:03:51  阅读:172  来源: 互联网

标签:20 cout ++ else int 1018 && yiyin 锤子


原题链接

思路

就是按顺序输入,写六个if判断每种情况,然后记录甲赢的次数和乙赢的次数,甲的次数就是乙输的次数,反之同理,然后开了两个数组a,b分别记录甲乙赢的时候出的是什么,出了几次,123分别代表BCJ,最后输出时写if判断即可,不用想复杂了用循环写。

坑点

注意如果一个人1次都没赢的话应该也输出B才对。

代码

#include<bits/stdc++.h>
using namespace std;
int a[10] = {0}; //甲,获胜 出的手势的次数,  
int b[10] = {0}; //乙,获胜 出的手势的次数,
int main()
{
	  
	int jiayin = 0, yiyin = 0;; 
	int n;
	cin >> n;
	for (int i = 1; i <= n; i ++ )
	{
		char x, y;
		cin >> x >> y;
                //6种情况
		if (x == 'C' && y == 'J')
		{
			jiayin ++;
			a[2] ++;
		}
		else if (x == 'J' && y == 'C')
		{
			yiyin ++;
			b[2] ++;
		}
		else if (x == 'C' && y == 'B')
		{
			yiyin ++;
			b[1] ++;
		}
		else if (x == 'B' && y == 'C')
		{
			jiayin ++;
			a[1] ++;
		}
		else if (x == 'J' && y == 'B')
		{
			jiayin ++;
			a[3] ++;
		}
		else if (x == 'B' && y == 'J')
		{
			yiyin ++;
			b[3] ++;
		}
	}
	cout << jiayin << " " << n - jiayin - yiyin << " " << yiyin << endl;
	cout << yiyin << " " << n - jiayin - yiyin << " " << jiayin << endl;
        //判断出赢得次数最多的手势
	if (a[1] >= a[2] && a[1] >= a[3]) cout << "B ";
	else if (a[2] > a[1] && a[2] >= a[3]) cout << "C ";
	else if (a[3] > a[2] && a[3] > a[1]) cout << "J ";

	if (b[1] >= b[2] && b[1] >= b[3]) cout << "B";
	else if (b[2] > b[1] && b[2] >= b[3]) cout << "C";
	else if (b[3] > b[2] && b[3] > b[1]) cout << "J";
//	int minn = -1;
//	int f = 0;
//	for (int i = 1; i <= 3; i ++ )
//	{
		cout << a[i] << " ";
//		if (a[i] > minn) 
//		{
//			minn = a[i];
//			f = i;
//		}
//	}
	if (f == 0) cout << "  ";
//	if (f == 1) cout << "B ";
//	if (f == 2) cout << "C ";
//	if (f == 3) cout << "J ";
//	minn = -1;
//	f = 0;
//	for (int i = 1; i <= 3; i ++ )
//	{
//		if (b[i] > minn) 
//		{
//			minn = a[i];
//			f = i;
//		}
//	}
	if (f == 0) cout << "  ";
//	if (f == 1) cout << "B";
//	if (f == 2) cout << "C";
//	if (f == 3) cout << "J";
	return 0;
}

总结

做的时候因为比大小那块可能想复杂了,用了循环写,导致出现了问题,后来改用了if判断就好了。在这些要比较的数量极少且条件按很多时,还是用if写方便又省心。

标签:20,cout,++,else,int,1018,&&,yiyin,锤子
来源: https://blog.csdn.net/qq_34682765/article/details/123234788

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有