m0_73900670 2022-10-25 20:34 采纳率: 100%
浏览 30
已结题

怎么在每次循环中输入一个值,然后代码感觉不怎么会。要求输入s,j,b达到石头剪刀布的效果

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
    int game;
    int s, j, b, a, c, d;
    s = 0;
    j = 1;
    b = 2;
    a = 0;
    c = 0;
    d = 0;
    srand(time(0));
    printf("===========欢迎进入 石头 剪刀 布 游戏===========\n");
    for (int i = 1; i <= 5; i++) {
        printf("第%d局你想出什么(石头s 剪刀j 布 b)?", i);
        scanf("%d", &game);
        if (rand() % 3 == 0 && game == s) {
            printf("你出的是 石头 ,电脑出的是 石头 ,平局!\n");
            d = d + 1;
        } else if (rand() % 3 == 0 && game == j) {
            printf("你出的是 石头 ,电脑出的是 剪刀,你赢了!\n");
            a = a + 1;
        } else if (rand() % 3 == 0 && game == b) {
            printf("你出的是 石头 ,电脑出的是 布,电脑赢了!\n");
            c = c + 1;
        } else if (rand() % 3 == 1 && game == s) {
            printf("你出的是 剪刀 ,电脑出的是 石头 ,你输了!\n");
            a = a + 1;
        } else if (rand() % 3 == 1 && game == j) {
            printf("你出的是 剪刀 ,电脑出的是 剪刀,平局!\n");
            d = d + 1;
        } else if (rand() % 3 == 1 && game == b) {
            printf("你出的是 剪刀 ,电脑出的是 布,你赢了!\n");
            a = a + 1;
        }    else if (rand() % 3 == 2 && game == s) {
            printf("你出的是 布 ,电脑出的是 石头 ,你赢了!\n");
            a = a + 1;
        } else if (rand() % 3 == 2 && game == j) {
            printf("你出的是 布 ,电脑出的是 剪刀,你输了!\n");
            c = c + 1;
        } else if (rand() % 3 == 2 && game == b) {
            printf("你出的是 布 ,电脑出的是 布,平局!\n");
            d = d + 1;
        }

        if (a == 2) {
            printf("对局结束: 你 %d 胜 %d 负 %d 平 胜利了!", a, c, d);
            return 0;
        }
        if (c == 2) {
            printf("对局结束: 你 %d 胜 %d 负 %d 平 惜败了!加油!", a, c, d);
            return 0;
        }
        if (i == 5 && a < 0 && c < 0) {
            printf("对局结束: 你 %d 胜 %d 负 %d 平 平局了!", a, c, d);
            return 0;
        }
    }
    return 0;
}

运行结果及报错内容

只能输入一个值,后面四次循环不能输入了。不知道这样通过输入的s j b 来判断石头剪刀布是否正确

我想要达到的结果

可以每次输入一个值

  • 写回答

2条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-10-25 20:52
    关注

    因为后边加了return 0;提前结束了,这些return 0都删掉

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 10月25日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集