c语言猜数游戏案例(三):猜数游戏(完善版)

1 概述

1.1 背景介绍

   在传统的 C 语言编程开发过程中,开发者通常需要在本地计算机上搭建开发环境,安装编译器、编辑器等必要工具,但这种方式存在诸多局限性,例如本地资源受限、跨平台开发不便以及团队协作困难等。随着云计算技术的迅猛发展,云主机为 C 语言编程提供了全新的解决方案。

   开发者空间提供的云主机环境,具备强大的计算能力、灵活的资源配置以及便捷的远程访问功能,为 C 语言开发工作带来了极大的便利。开发者无需在本地安装复杂的开发工具链,只需通过网络连接到云主机,即可利用其高性能的硬件资源进行代码编写、编译和调试工作。此外,云主机环境还支持多用户同时访问和协作开发,满足了团队开发的需求。

   在本案例中,我们将重点介绍如何使用开发者空间的云主机进行 C 语言编程开发,结合 CodeArts IDE for Cangjie 这一高效的开发工具,实现代码的快速编写与运行,充分展现云主机在 C 语言开发领域的优势,为开发者提供一种高效、灵活且易用的编程开发方式,无论是在个人项目开发还是团队协作项目中,都能极大地提升开发效率和质量。

1.2 适用对象

· 个人开发者

· 高校学生

1.3案例时间

本案例总时长预计30分钟。

1.4 案例流程

登录开发者空间;

打开并进入云主机;

配置 C 语言编程开发环境;

进行 C 语言编程开发

1.5资源总览

资源名称规格单价(元)时长(分钟)
开发者空间云主机4vCPUs | 8GB | ARM | Ubuntu030

2 猜数游戏(完善版)

2.1  项目背景

   优秀的猜数游戏应允许玩家进行多次猜测,以满足玩家的个性化需求,充分发挥他们的智慧,进而有效提升计算思维能力。由于使用选择控制结构无法实现多次猜测功能,因此需要对项目2中猜数游戏的功能进行进一步改进。在项目基础中,我们学习了循环控制语句(如while、do…while、for等)的语法格式、使用方法及相关实例,同时了解了break语句和continue语句在循环中的中断处理机制。通过所学知识,要求完善猜数游戏的多次猜测功能,并统计分析猜测成功的次数。

2.2  需求分析

   在猜数游戏(完善版)项目中,将实现以下功能。

(1)完善猜数游戏的功能,如若输入1,则进入游戏;若输入2,则退出游戏。同时,保证输入功能编号正确,并且在进入游戏后清除游戏界面上的内容。

(2)将猜测数值的取值范围扩展至1~50,并确保取值范围能够随机变化。

(3)不限制玩家参加猜数游戏的次数,除非中途退出,否则直到猜测正确为止。

(4)若玩家中途退出,则给出正确答案并给予鼓励。

(5)玩家每次输入猜测值后,系统给出答案提示,并显示本次猜测是第几次及猜测是否正确。

2.3  算法设计

   通过分析项目需求,使用C语言完成项目程序设计,具体算法设计步骤如下。

第1步:定义5个整型变量x、t、m、i、count。其中,x表示玩家在游戏界面上输入的功能编号,t表示随机生成的猜测数值,m表示玩家输入的猜测数值,i表示猜数游戏的循环变量,count表示猜测正确的次数。

第2步:输入x的值。若输入的值是除1或0以外的值,则提示玩家重新输入,直到输入正确为止。

第3步:判断x是否等于1。若x=1,则进入游戏并跳转到第4步,否则退出游戏。

第4步:使用srand函数设置随机数值生成器的种子,time(0)(用于获取当前时间,单位为秒)函数值作为种子值。

第5步:将1+rand()%50表达式的值赋给变量t,确保t的取值范围为1~50。

第6步:从第1次开始,提示玩家当前是第几次猜测,并输入猜测数值m。随后判断m的值:若m等于0,则输出正确答案和鼓励信息,并退出游戏;若m的值不等于0,则判断是否满足m>t或m<t,分别输出相应提示信息,并跳转到第7步。

第7步:判断m与t是否相等,若不相等,则并跳转到第6步。若m等于0,则中途退出游戏,否则继续进行猜测,直到m等于t,结束循环并跳转到第8步。

第8步:若m等于t,则计算猜测正确的次数count,并输出本次猜测是第几次猜对的信息及正确答案。

根据算法设计步骤,绘制程序流程图:

31b51854cf74409cbef9aca4d026712b

2.4  项目实现

程序!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
  int  t,m,x,i,count;  
  printf("*****************猜数游戏(完善版)*****************\n");
  printf("*************1:进入游戏   0:退出游戏**************\n");
  scanf("%d",&x);
  while(x!=1&&x!=0)
  {
      printf("输入错误,请重新输入!\n");
    scanf("%d",&x);
  }
  if(x==1)
{
       srand(time(0));           // 设置随机数值生成器的种子
       t=1+rand()%50;          // 生成随机数值的取值范围(1~50)
      system("cls");          // 清屏
      printf("******************欢迎进入猜数游戏******************\n");
     printf("******************猜数范围为1~50******************\n");
     printf("******************0 :退出游戏**********************\n");
     i=1;
      do
      {
        printf("**********************第%d次*************************\n",i);
          printf("请输入猜测的数值:  ");
        scanf("%d",&m);
        if(m==0)
          {
             printf("正确的答案是:%d\n",t);
               printf("很遗憾哦,欢迎下次再来挑战吧!\n");
              break;
           }
           if(m>t)
          printf("数值猜大了!\n");
          if(m<t)  
              printf("数值猜小了!\n");
               i++;
       }while(m!=t);  
       if(m==t)
       {  
           i--;
          count=i;
           printf ("恭喜您第%d次猜对了!\n",count);
           printf("正确的答案是:%d\n",t);      
       }
   }
   else
       printf("退出游戏\n");
}

运行程序后,在游戏界面输入1,表示进入游戏。

26a95cd020ef4687a1bdbf0d8f1197a4

进入游戏后,发挥个人智慧,输入猜测数值。

运行结果:

136460356f7141efbb47f6050b7ebd40


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值