C_逻辑题: 石头,剪刀,布
来源:互联网 发布:淘宝店运营方案论文 编辑:程序博客网 时间:2024/05/18 06:13
胜负逻辑的判断技巧:
思路转变
石头 = 1
剪刀 = 2
布 = 3
电脑 c
玩家 p
双方的选择无外乎 1 2 3
选项差值无外乎:0,1,2,-1,-2
现在我们站在玩家角度分析:
差值为0时, 一定是平手,不解释
-1 对应的所有情况:
石头对剪刀 赢
剪刀对布 赢
-2 对应的所有情况:
剪刀对布 赢
1对应的所有情况
剪刀对石头 输
布对剪刀 输
2对应的所有情况
布对石头 赢
所以无论站在任何一方的角度来看:
自己的选项-对方的选项 = 1 || -2时都是输
自己的选项-对方的选项 = -1 || 2时都是赢
自己的选项-对方的选项 = 0时为平手
所以判断输赢就简化成了,判断双方选择的差值。
丢代码:
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<Windows.h>#include<time.h>void check(char p){ srand(time(NULL)); char c; int result; c = rand() % 3 + 65; printf("\n电脑选择了: %c ", c); if (c == 'A') printf("石头\n"); if (c == 'B') printf("剪刀\n"); if (c == 'C') printf("布\n"); result = p - c; if (result == 0) { printf("\n\n本局结果: 打了个平手!!!"); } else{ if (result == -1 || result == 2){ printf("\n本局结果: 玩家胜 猴赛雷啊!!!"); } else{ printf("\n本局结果: 电脑胜 再接再厉!!!"); } }}int main(){ char player; printf("\n\n请选择字母出招: \n"); printf("A--石头\t\tB--剪刀\t\tC--布\n"); scanf("%c", &player); getchar(); printf("\n您选择了: %c ", player); if (player == 'A') printf("石头\n"); if (player == 'B') printf("剪刀\n"); if (player == 'C') printf("布\n"); printf("\n\n君子一言,驷马难追,少年,请按回车确认!"); getchar(); check(player); getchar(); return 0;}
阅读全文
0 0
- C_逻辑题: 石头,剪刀,布
- 8,石头,剪刀,布的逻辑代码
- 石头-剪刀-布
- 石头剪刀布
- 剪刀石头布
- 剪刀、石头、布游戏
- 剪刀 石头 布
- 石头剪刀布
- 剪刀石头布
- 石头剪刀布
- 剪刀石头布游戏
- 剪刀石头布
- 剪刀石头布游戏
- 剪刀、石头、布
- 1019:石头剪刀布
- 石头剪刀布1
- 石头-剪刀-布
- 石头剪刀布游戏
- CSS3 2 2D 3D转换
- JDBC连接池&DBUtils
- jquery对象数值步进显示效果
- 获取post请求的数据
- PL/SQL 游标(cursor)的使用
- C_逻辑题: 石头,剪刀,布
- Java 8 Function之Predicate
- 分布式事务
- 证明题 8.10
- css三种书写格式以及import与link的区别
- 前端学习笔记--AJAX的使用(一)
- CSS之background-size属性
- 响应式编程总览
- FCC-Front End Development jQuery