题目描述:
编写程序实现“剪刀,石头,布”游戏。在这个游戏中,两个人同时说“剪刀”,“石头”或“布”,压过另一方的为胜者。规则是:“布”胜过“石头”,“石头”胜过“剪刀”,“剪刀”胜过“布”。要求:选择结构中使用枚举类型,结果的输出也使用枚举类型表示。
两个数,范围为{0,1,2},用空格隔开。0表示石头,1表示布,2表示剪刀。这两个数分别表示两个人所说的物品。
如果前者赢,输出1。如果后者赢,输出-1。如果是平局,输出0。
0 2
样例输出:
1
代码实现:
#include <stdio.h>
int main()
{
enum game {stone, scissors, cloth} a, b;
enum result{lose = -1, draw, win} num;
/*
1.枚举类型用enum开头,enum game和enum result是枚举类型
2.a和b是enum game的枚举变量,num是enum result的枚举变量
3.两个枚举类型中的花括号是各自类型的枚举元素(也称为枚举常量)
4.枚举变量与其他类型的变量数值型不同,他们的值只能在花括号的值之间
5.不能在花括号外对枚举元素进行赋值,他们被当作常量
6.花括号的枚举常量自动从0开始赋值,stone=0,scissors=1,cloth=1
lose=-1,draw=0,win=1
7.枚举常量可以输出,用%d打印
*/
scanf("%d%d", &a, &b);
if(b-a == 1 || b-a == -2)
{
num = lose;//将变量num赋值成元素的值,即num=-1
}
else if(a-b == 1 || a-b == -2)
{
num = win;
}
else
{
num = draw;
}
switch(num)
{
case lose:
printf("%d", lose);
break;
case win:
printf("%d", win);
break;
case draw:
printf("%d", draw);
break;
}
return 0;
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复