鱼C论坛

 找回密码
 立即注册
查看: 1286|回复: 10

[已解决]看一下这哪里错了,帮着改一下

[复制链接]
发表于 2020-10-10 18:48:09 | 显示全部楼层 |阅读模式
6鱼币

#include<stdio.h>       // stdio.h 头文件是系统自带,用尖括号,不用引号
#include<conio.h>      // getch() 需要这个头文件
void main()
{
          int total = 21;
          int shengyu,yours,computer;
          char another;
         
          printf("****************************************\n");
          printf("*****     起始牙签个数为%d         *****\n",total);
          printf("*****     每次只能拿走1-3个        *****\n");
          printf("*****     谁拿最后一个谁就输了     *****\n");
          printf("\n");
          printf("\n明白了?按任意键开始吧......");
         
          getch();         // 没有添加头函数 conio.h
          shengyu = total;

          while(shengyu != 0)
         {
               do               //只能拿1-3个
               {
                      printf("\n当前牙签数为%d\n",shengyu);
                      printf("请输入你拿走的牙签数(1-3): ");
                      scanf("%d",&yours);

                      if(yours >= 1 && yours <= 3)
                            break;
                      else
                            printf("你每次只能拿1到3个。\n");
               }while(1);
                        
               shengyu = shengyu - yours;
               if(shengyu < 0)
              {
                     printf("\n\n你不按规则来呀! \n");
                     shengyu = shengyu + yours;
                     continue;
               }
               if(shengyu == 0)
               {
                     printf("你输了,再来不? (Y/N)");
                     //清缓冲区
                     fflush(stdin);
                           another = getchar();
                                 
                     if(another =='Y' || another == 'y')
                    {
                           shengyu = total;
                    }
                    else
                    {
                           printf("\n\n再见,以后再来玩呀!\n");
                           break;
                    }
               }
               else
               {
                           computer = 4 - yours;
                           printf("\n电脑拿走了%d个牙签\n",computer);
                           shengyu = shengyu - computer;
               }
         }
}
最佳答案
2020-10-10 18:48:10

你用什么编译器?我用 VC++6.0 运行没有告警,运行正常;用 DEV_C++ 有一个告警:[Warning] implicit declaration of function 'getch' [-Wimplicit-function-declaration] ,但也不影响运行,游戏能正常玩。

只是你这个游戏可能有问题,我玩了一下午了,就没有赢过

最佳答案

查看完整内容

你用什么编译器?我用 VC++6.0 运行没有告警,运行正常;用 DEV_C++ 有一个告警:[Warning] implicit declaration of function 'getch' [-Wimplicit-function-declaration] ,但也不影响运行,游戏能正常玩。 只是你这个游戏可能有问题,我玩了一下午了,就没有赢过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-10 18:48:10 | 显示全部楼层    本楼为最佳答案   

你用什么编译器?我用 VC++6.0 运行没有告警,运行正常;用 DEV_C++ 有一个告警:[Warning] implicit declaration of function 'getch' [-Wimplicit-function-declaration] ,但也不影响运行,游戏能正常玩。

只是你这个游戏可能有问题,我玩了一下午了,就没有赢过

评分

参与人数 1荣誉 +2 鱼币 +3 贡献 +2 收起 理由
南城转暖 + 2 + 3 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-10 19:03:12 | 显示全部楼层
你这个还有什么问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-10 19:08:22 | 显示全部楼层
风过无痕1989 发表于 2020-10-10 19:03
你这个还有什么问题?

无法运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-10 19:12:32 | 显示全部楼层
这个C语言里void main()是不存在的,应该改为int main(void)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-10 19:14:13 | 显示全部楼层
void main()在C语言中其实是不正确的,应该改为int mian(void)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-10 19:15:06 | 显示全部楼层
本帖最后由 baige 于 2020-10-10 19:22 编辑
#include<stdio.h>       // stdio.h 头文件是系统自带,用尖括号,不用引号
#include<conio.h>      // getch() 需要这个头文件
int main(void)
{
    int total = 21;
    int shengyu, yours, computer;
    char another;

    printf("****************************************\n");
    printf("*****     起始牙签个数为%d         *****\n", total);
    printf("*****     每次只能拿走1-3个        *****\n");
    printf("*****     谁拿最后一个谁就输了     *****\n");
    printf("\n");
    printf("\n明白了?按任意键开始吧......");

    getch();         // 没有添加头函数 conio.h
    shengyu = total;

    while (shengyu != 0)
    {
        do               //只能拿1-3个
        {
            printf("\n当前牙签数为%d\n", shengyu);
            printf("请输入你拿走的牙签数(1-3): ");
            scanf("%d", &yours);

            if (yours >= 1 && yours <= 3)
                break;
            else
                printf("你每次只能拿1到3个。\n");
        } while (1);

        shengyu = shengyu - yours;
        if (shengyu < 0)
        {
            printf("\n\n你不按规则来呀! \n");
            shengyu = shengyu + yours;
            continue;
        }
        if (shengyu == 0)
        {
            printf("你输了,再来不? (Y/N)");
            fflush(stdin);
            another = getchar();

            if (another == 'Y' || another == 'y')
            {
                shengyu = total;
            }
            else
            {
                printf("\n\n再见,以后再来玩呀!\n");
                break;
            }
        }
        else
        {
             computer = 4 - yours;
             printf("\n电脑拿走了%d个牙签\n",computer);
             shengyu = shengyu - computer;
        }
    }
    return 0; 
}

评分

参与人数 1鱼币 +3 收起 理由
南城转暖 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-10 19:15:10 | 显示全部楼层
来呀,送渔币了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-10 19:32:18 | 显示全部楼层
风过无痕1989 发表于 2020-10-10 19:22
你用什么编译器?我用 VC++6.0 运行没有告警,运行正常;用 DEV_C++ 有一个告警:[Warning] implicit dec ...

没有赢因为这个游戏电脑必胜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-10 19:35:00 | 显示全部楼层
风过无痕1989 发表于 2020-10-10 19:22
你用什么编译器?我用 VC++6.0 运行没有告警,运行正常;用 DEV_C++ 有一个告警:[Warning] implicit dec ...

哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-10 19:35:11 | 显示全部楼层
KevinHu 发表于 2020-10-10 19:32
没有赢因为这个游戏电脑必胜

所以,这一个下午,我都在研究,想改一改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 21:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表