题目描述:
编写程序实现“剪刀,石头,布”游戏。在这个游戏中,两个人同时说“剪刀”,“石头”或“布”,压过另一方的为胜者。规则是:“布”胜过“石头”,“石头”胜过“剪刀”,“剪刀”胜过“布”。要求:选择结构中使用枚举类型,结果的输出也使用枚举类型表示。
两个数,范围为{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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复