题目描述
编写程序实现“剪刀,石头,布”游戏。在这个游戏中,两个人同时说“剪刀”,“石头”或“布”,压过另一方的为胜者。规则是:“布”胜过“石头”,“石头”胜过“剪刀”,“剪刀”胜过“布”。
解法
如果用if语句需要枚举9种情况,但是使用switch语句就可以大大减少代码行数,而且也比较·······
#include<stdio.h>
main()
{
int a,b;
printf("请出拳:0表示石头,1表示布,2表示剪刀。\n");
scanf("%d%d",&a,&b);
switch(a)
{
case 0 :{
switch(b)
{
case 0 :printf("平局\n");break;
case 1 :printf("第二个人胜利\n");break;
case 2 :printf("第一个人胜利\n");break;
default :printf("第二个人出拳错误.\n");break;
}
}break;
case 1 :{
switch(b)
{
case 0 :printf("第一个人胜利\n");break;
case 1 :printf("平局\n");break;
case 2 :printf("第二个人胜利\n");break;
default :printf("第二个人出拳错误.\n");break;
}
}break;
case 2 :{
switch(b)
{
case 0 :printf("第二个人胜利\n");break;
case 1 :printf("第一个人胜利\n");break;
case 2 :printf("平局\n");break;
default :printf("第二个人出拳错误.\n");break;
}
}break;
default :printf("第一个人出拳错误.\n");break;
}
}
运行结果: