题目描述:
编写程序实现“剪刀,石头,布”游戏。在这个游戏中,两个人同时说“剪刀”,“石头”或“布”,压过另一方的为胜者。规则是:“布”胜过“石头”,“石头”胜过“剪刀”,“剪刀”胜过“布”。要求:选择结构中使用枚举类型,结果的输出也使用枚举类型表示。
两个数,范围为{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 人评分