【C语言】猜数字游戏----分支循环

目录

问题描述

前言

一、所用知识点介绍

1.循环结构

2.分支结构 

二、程序分解与整合

1.分解

2.整合

最后


问题描述

从0~100中随机猜一数字,若猜对了则提示“恭喜你,猜对了”,若猜小了则提示“猜小了”,若猜大了则提示“猜大了”


前言

该数字游戏很好的将循环结构(while,do......while),选择结构(if   else)相结合并运用,并用到一些其他知识点。


以下内容仅供参考,欢迎大佬批评指正

 

 

一、所用知识点介绍

1.循环结构

循环语句包括for语句;while;do......while;这里针对该猜数字游戏,介绍while与do......while,后续再详细介绍for语句

while()

{

        ......

}

do

{

        ......

}while()

2.分支结构 

分支语句包括if else;switch,switch语句后续再介绍

if(表达式)

        语句1;

else

        语句2;

//多分支

if(表达式1)

        语句1;

else if(表达式2)

        语句2;

else

        语句3;

#include<stdio.h>
int main()
{
    if(表达式)
    {

        语句1;
    }

    else
    {

        语句2;
    }
    return 0;
}

//一对{}就是一个代码块

二、程序分解与整合

1.分解

1.从菜单栏进入输入1则进行游戏,输入0则退出游戏,,需调用menu()函数;

2.rand函数----随机数生成器,rand()%100=0~99,按题目要求需创建一个变量承接随机数,

 int ret=rand()%100+1,在main函数中设置随机函数生成器;

3.使用if语句将所猜数字guess与ret进行比较并执行相应语句,在while循环中可多次输入所猜数字(输入正确还可再输,直到猜对),否则只能输入一次;

while (1)
	{
		printf("请猜数字:>\n");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if (guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
		}
	}

4.循环嵌套,输入0或1选择游戏是否进行。

int input=0;
do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			printf("猜数字\n");
			game();
			break;
		case 0:
			printf("退出游戏\n");
		default:
			printf("选择错误,重新选择\n");
			break;
		}

	} while (input);
	return 0;

2.整合

代码整合:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void menu()
{
	printf("**********************\n");
	printf("******* 1:play *******\n");
	printf("******* 0:exit *******\n");
	printf("**********************\n");
}

void game()
{
	int guess = 0;
	
	int ret = rand() % 100 + 1; //0~99-->1~100
	//printf("%d\n",ret);
	
	while (1)
	{
		printf("请猜数字:>\n");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if (guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
		}
	}
}

int main()
{
	int input=0;
	//设置随机数的生成器
	srand((unsigned int)time(NULL));
	do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			printf("猜数字\n");
			game();
			break;
		case 0:
			printf("退出游戏\n");
		default:
			printf("选择错误,重新选择\n");
			break;
		}

	} while (input);
	return 0;
}

最后

快乐的时光总是短暂的,以上就是今天要讲的内容,本文继续简单介绍了小赵同志对C语言以及猜数字游戏的初步认知,并对所用到的知识做了简单介绍。欢迎家人们批评指正。小赵同志继续更新,不断学习的动力是宝子们一键三连的支持呀~。

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值