石头剪刀布c语言代码switch
时间: 2023-10-23 19:09:29 浏览: 257
以下是石头剪刀布的C语言代码,使用了switch语句和随机数生成电脑出拳:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
char gamer; // 玩家出拳
int computer; // 电脑出拳
int result; // 比赛结果
// 避免玩一次游戏就退出程序,可以将代码放在循环中
while (1) //这样就可以重复了,注意,条件不能是0
{
printf("这是一个猜拳的小游戏,请输入你要出的拳头:\n");
printf("A:剪刀\nB:石头\nC:布\nD:不玩了\n");
scanf_s("%c%*c", &gamer);
switch (gamer)
{
case 65: //A的ASCII码
case 97: //a的ASCII码
gamer = 4;
break;
case 66: //B的ASCII码
case 98: //b的ASCII码
gamer = 7;
break;
case 67: //C的ASCII码
case 99: //c的ASCII码
gamer = 10;
break;
case 68: //D的ASCII码
case 100: //d的ASCII码
return 0;
break;
default:
printf("您的选择为 %c ,您的选择错误,退出...\n", gamer);
return 0;
break;
}
srand((unsigned int)time(NULL)); // 随机数
computer = rand() % 3; // 产生随机数并取余0-2,并得到电脑出拳
result = (int)gamer + computer; // 因为gamer 为 char 类型,所以进行数学运算时要强制转换类型
printf("电脑出了");
switch (computer)
{
case 0:
printf("剪刀\n");
break;
case 1:
printf("石头\n");
break;
case 2:
printf("布\n");
break;
}
printf("您出了");
switch (gamer)
{
case 4:
printf("剪刀\n"); break;
case 7:
printf("石头\n");
break;
case 10:
printf("布\n");
break;
}
if (result == 6 || result == 7 || result == 11)
printf("你赢了!");
else if (result == 5 || result == 9 || result == 10)
printf("电脑赢了!");
else
printf("平手");
printf("\n");
system("pause>nul&&cls"); // 暂停并清屏
}
return 0;
}
```
阅读全文