1024-web1 发表于 2020-4-12 09:43:10

自己一个一个跟着敲到代码,加油

/*
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define HUMANWIN 0
#define COMPUTERWIN 1
void welcome(void);
int get_computer();
int get_human();
void gameover(int winner);
int main(void)
{
        int human,computer;//1,2
        int result;
        int human_win = 0;
        int computer_win = 0;
        welcome();
        while (1)
        {
                human = get_human();
                computer = get_computer();
                //用户输入0表示退出游戏
                if (human == 0) {
                        break;
                }
                printf("你出");
                switch (human)
                {
                case 3: {printf("剪刀,"); break; }
                case 4:{printf("石头,"); break;}
          case 6: {printf("布"); break; }
                }
                printf("我出");
                switch (computer)
                {
                case 1: {printf("剪刀,"); break; }
                case 2:{printf("石头,"); break;}
                case 3:printf("布"); break;
                }
                result = human + computer;
                //你出剪刀,电脑出局:3+3==6k
                //你出石头,电脑出石头:6+1==7
                //你出布,电脑出石头:9+2==11
                //以为三种情况算你赢
                if (result == 6 || result==7 || result == 11)
                {
                        printf("你赢了\n\n");
                        human_win++;
                }
                //你出布,电脑出剪刀:9+1==10
                //你出剪刀,电脑出石头:3+2==5
                //你出石头,电脑出布:6+3=9
                //以为三种情况算你赢
                else if (result == 5 || result == 9 || result == 10)
                {
                        printf("我赢了\n\n");
                        computer_win++;
                }
                else {
                        printf("咱打平\n\n");
                }
                //打平也算人类赢
                if (human_win >= computer_win)
                {
                        gameover(HUMANWIN);

                }
                else {
                        gameover(COMPUTERWIN);
                }


        }
        return 0;

}
int get_human(void)
{
        int human;
        printf("请出拳(1剪刀/2石头/3布/0退出)->");
        scanf_s("%d",&human);
        while (human < 0 || human>3)
        {
                printf("出拳错误,请重新出拳(只需要输入即可)->");
                scanf_s("%d",&human);
        }
        return human*3;
}
int get_computer(void)
{
        int computer;
        srand((unsigned)time(NULL));
        computer = rand() % 3 + 1;
        return computer;
}
void welcome(void)
{
        printf("\n#####################\n");
        printf("欢迎来到猜拳小游戏!\n");
        printf("#####################\n");
}
void gameover(int winner)
{
        if (winner)
        {
                printf("\n#########################################################################\n");
                printf("#                                                                     #\n");
                printf("# ##    ##    ####    ##   ##    ##         ####   ############## #\n");
                printf("#####    ####   ##   ##    ##      ####   ##       ##       #\n");
                printf("#   ####    ##    ####   ##    ##       ##    ####       ##       #\n");
                printf("#    ##   ##    ####   ##    ##       ##    ########   ########\n");
                printf("#    ##   ##    ####   ##    ##       ##    ##       ####       #\n");
                printf("#    ##      ####    ##   ##   ##      ####      ####       #\n");
                printf("#    ##       ####      #####      #######    ####    ######   ######## #\n");
                printf("#                                                                     #\n");
                printf("#########################################################################\n");
        }
        else
        {
                printf("\n##########################################################################\n");
                printf("#                                                                        #\n");
                printf("# ##    ##    ####    ##   ##    ##            ##########   ## #\n");
                printf("#####    ####   ##   ##    ##      ##      ##    ##    ###    ## #\n");
                printf("#   ####    ##    ####   ##    ##   ####   ##    ##    ## #   ## #\n");
                printf("#    ##   ##    ####   ##   ##   ####   ##   ##    ##### #\n");
                printf("#    ##   ##    ####   ##      ## ##    ## ##      ##    ##   # ## #\n");
                printf("#    ##      ####    ##   ##      ###      ###       ##    ##    ### #\n");
                printf("#    ##       ####      #####          #      #      ########   ## #\n");
                printf("#                                                                        #\n");
                printf("##########################################################################\n");

        }
}
*/

乘号 发表于 2020-4-12 09:46:46

要用代码格式发代码哦

liuzhengyuan 发表于 2020-4-12 09:54:47

本帖最后由 liuzhengyuan 于 2020-4-12 10:02 编辑

不错不错{:10_254:}

为啥是
scanf_s

隔壁繁星吖 发表于 2020-4-12 09:58:00

/*
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define HUMANWIN 0
#define COMPUTERWIN 1
void welcome(void);
int get_computer();
int get_human();
void gameover(int winner);
int main(void)
{
      int human,computer;//1,2
      int result;
      int human_win = 0;
      int computer_win = 0;
      welcome();
      while (1)
      {
                human = get_human();
                computer = get_computer();
                //用户输入0表示退出游戏
                if (human == 0) {
                        break;
                }
                printf("你出");
                switch (human)
                {
                case 3: {printf("剪刀,"); break; }
                case 4:{printf("石头,"); break;}
            case 6: {printf("布"); break; }
                }
                printf("我出");
                switch (computer)
                {
                case 1: {printf("剪刀,"); break; }
                case 2:{printf("石头,"); break;}
                case 3:printf("布"); break;
                }
                result = human + computer;
                //你出剪刀,电脑出局:3+3==6k
                //你出石头,电脑出石头:6+1==7
                //你出布,电脑出石头:9+2==11
                //以为三种情况算你赢
                if (result == 6 || result==7 || result == 11)
                {
                        printf("你赢了\n\n");
                        human_win++;
                }
                //你出布,电脑出剪刀:9+1==10
                //你出剪刀,电脑出石头:3+2==5
                //你出石头,电脑出布:6+3=9
                //以为三种情况算你赢
                else if (result == 5 || result == 9 || result == 10)
                {
                        printf("我赢了\n\n");
                        computer_win++;
                }
                else {
                        printf("咱打平\n\n");
                }
                //打平也算人类赢
                if (human_win >= computer_win)
                {
                        gameover(HUMANWIN);

                }
                else {
                        gameover(COMPUTERWIN);
                }


      }
      return 0;

}
int get_human(void)
{
      int human;
      printf("请出拳(1剪刀/2石头/3布/0退出)->");
      scanf_s("%d",&human);
      while (human < 0 || human>3)
      {
                printf("出拳错误,请重新出拳(只需要输入即可)->");
                scanf_s("%d",&human);
      }
      return human*3;
}
int get_computer(void)
{
      int computer;
      srand((unsigned)time(NULL));
      computer = rand() % 3 + 1;
      return computer;
}
void welcome(void)
{
      printf("\n#####################\n");
      printf("欢迎来到猜拳小游戏!\n");
      printf("#####################\n");
}
void gameover(int winner)
{
      if (winner)
      {
                printf("\n#########################################################################\n");
                printf("#                                                                     #\n");
                printf("# ##    ##    ####    ##   ##    ##         ####   ############## #\n");
                printf("#####    ####   ##   ##    ##      ####   ##       ##       #\n");
                printf("#   ####    ##    ####   ##    ##       ##    ####       ##       #\n");
                printf("#    ##   ##    ####   ##    ##       ##    ########   ########\n");
                printf("#    ##   ##    ####   ##    ##       ##    ##       ####       #\n");
                printf("#    ##      ####    ##   ##   ##      ####      ####       #\n");
                printf("#    ##       ####      #####      #######    ####    ######   ######## #\n");
                printf("#                                                                     #\n");
                printf("#########################################################################\n");
      }
      else
      {
                printf("\n##########################################################################\n");
                printf("#                                                                        #\n");
                printf("# ##    ##    ####    ##   ##    ##            ##########   ## #\n");
                printf("#####    ####   ##   ##    ##      ##      ##    ##    ###    ## #\n");
                printf("#   ####    ##    ####   ##    ##   ####   ##    ##    ## #   ## #\n");
                printf("#    ##   ##    ####   ##   ##   ####   ##   ##    ##### #\n");
                printf("#    ##   ##    ####   ##      ## ##    ## ##      ##    ##   # ## #\n");
                printf("#    ##      ####    ##   ##      ###      ###       ##    ##    ### #\n");
                printf("#    ##       ####      #####          #      #      ########   ## #\n");
                printf("#                                                                        #\n");
                printf("##########################################################################\n");

      }
}
*/

1024-web1 发表于 2020-4-12 12:58:19

乘号 发表于 2020-4-12 09:46
要用代码格式发代码哦

好的{:5_109:}

1024-web1 发表于 2020-4-12 13:00:23

liuzhengyuan 发表于 2020-4-12 09:54
不错不错

为啥是

我用的vs2019编译器支持新版的scanf_s函数不兼容以前版本的

fly3412 发表于 2020-4-12 13:09:22

加油
这是体力活

1024-web1 发表于 2020-4-13 20:22:09

fly3412 发表于 2020-4-12 13:09
加油
这是体力活

你开始学编程不跟着敲代码吗

fly3412 发表于 2020-4-13 23:03:16

1024-web1 发表于 2020-4-13 20:22
你开始学编程不跟着敲代码吗

现在有的机构出的课件。最开始是从填空做起来。
大架构已经写好。只管几个重要的命令输入即可。

1024-web1 发表于 2020-4-14 13:33:35

fly3412 发表于 2020-4-13 23:03
现在有的机构出的课件。最开始是从填空做起来。
大架构已经写好。只管几个重要的命令输入即可。

你报班了??我没报,等考完研再说吧,现在不慌

fly3412 发表于 2020-4-15 00:10:20

1024-web1 发表于 2020-4-14 13:33
你报班了??我没报,等考完研再说吧,现在不慌

给孩子报了暑秋班。老师说,大人不用报班。找书,找网站自己刷题就行了。

1024-web1 发表于 2020-4-22 09:43:23

fly3412 发表于 2020-4-15 00:10
给孩子报了暑秋班。老师说,大人不用报班。找书,找网站自己刷题就行了。

真好,奥里给吧,你都要孩子了,哎,我还没谈过恋爱吧

fly3412 发表于 2020-4-22 12:46:16

1024-web1 发表于 2020-4-22 09:43
真好,奥里给吧,你都要孩子了,哎,我还没谈过恋爱吧

把电脑当做爱人,把编程当人帮孩子,会不会心情愉快些?

孩子上三年级了。已经开始学点编程了。 {:5_100:}

1024-web1 发表于 2020-4-24 11:28:16

fly3412 发表于 2020-4-22 12:46
把电脑当做爱人,把编程当人帮孩子,会不会心情愉快些?

孩子上三年级了。已经开始学点编程了。 {:5_1 ...

都加油,未来还是美好的
页: [1]
查看完整版本: 自己一个一个跟着敲到代码,加油