当前位置:网站首页>C语言实现猜数字(附带源码,可直接运行)
C语言实现猜数字(附带源码,可直接运行)
2022-08-11 05:25:00 【Rserendipity】
初学者警告
初学者警告
初学者警告
重要的事说三遍,请轻喷哈
电子信息专业的大一学生,学校放寒假了,在家挺无聊的,并且下学期没有c语言的课程了,还是写点东西复习复习一下吧,免得都还给老师了(逃
#define _CRT_SECURE_NO_WARNINGS
//我用的编辑器是vs2019,防止scanf等函数报错,gcc、dev等编辑器可以去掉这一行
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//函数声明
void test();
void again();
void menu();
void game();
int generate_num();
void menu()
{
printf("\n");
printf("****************************\n");
printf("***** 猜数字 ****\n");
printf("***** 请输入1或者0 ****\n");
printf("***** 1.开始 0.退出 ****\n");
printf("****************************\n");
printf("\n");
}
void again()
{
printf("\n");
printf("想再玩一次吗?\n");
printf("输入1再玩一次,输入0退出游戏:>");
}
int main()
{
test();//调用test函数
return 0;
}
void test()
{
int input = 0;
do
{
menu();
printf("请选择:>");
scanf("%d", &input);//根据用户的输入经行选择开始游戏还是退出
switch (input)
{
case 1:
game();//调用游戏函数
break;
case 0:
printf("退出游戏!\n");
break;
default:
printf("输入错误,请重新输入!\n");
break;
}
} while (input);//同时可以使用用户输入的值来控制do—while循环
}
void game()
{
int temp;
int input;
printf("请输入你想猜的数字的范围(左小右大,用空格隔开):>");
temp = generate_num();//随机数生成函数,得到随机值
do//进行do—while循环,直到用户输入正确的数停止
{
printf("请输入你猜的数:>");
scanf("%d", &input);
if (input == temp)
{
printf("猜对啦!\n");
break;
}
else if (input < temp)
{
printf("小啦小啦!\n");
}
else if (input > temp)
{
printf("大啦大啦!\n");
}
} while (1);
int a;
do//询问是否再玩一次
{
again();
scanf("%d", &a);
switch (a)
{
case 1:
game();//递归调用,重新开始游戏
case 0:
printf("退出游戏!\n");
exit(0);//退出程序
default:
printf("输入错误,请重新输入!\n");
break;
}
} while (a);//同时可以使用用户输入的值来控制do—while循环
}
int generate_num()
{
int x, y, z;
srand((unsigned int)time(NULL) * 100);//使用时间戳来生成随机数字,输入范围较小时*100可以去掉
scanf("%d%d", &x, &y);//给定生成随机数的范围
if (x > y)//判断是否符合要求
{
printf("你输入的前一个数字比后一个数字大哦!\n");
printf("请重新输入:>");
generate_num();
}
else if (x == y)
{
printf("你输入两个数字一样哦!\n");
printf("请重新输入:>");
generate_num();
}
else
z = rand() % y + x;//生成随机数
return z;
}
注释都写在代码内了,本人是初学者,有什么不足的地方欢迎指正哈
边栏推荐
- 自定义形状seekbar学习
- TAMNet: A loss-balanced multi-task model for simultaneous detection and segmentation
- STM32学习笔记(白话文理解版)—外部IO中断实验
- CMT2380F32模块开发8-Base Timer例程
- pip安装报错:is not a supported wheel on this platform
- 梅科尔工作室-Pr第一次培训笔记(安装及项目创建)
- 物联网IOT 固件升级
- 微信和抖音都到十亿级用户了,作为产品经理的你们觉得哪个产品更成功?
- aPaaS和iPaaS的区别
- Hardhat Recognition System - Solving Regulatory Conundrums
猜你喜欢
SCNet: Semantic Consistency Networks for 3D Object Detection
Hard hat identification
STM32学习笔记(白话文理解版)—USART通信接口
关于openlayer中swipe位置偏移的问题
Solutions to the 7th Jimei University Programming Contest (Individual Contest)
STM32学习笔记(白话文理解版)—搞懂PWM输出
CNN-based Point Cloud De-Noising
Mei cole studios - fifth training DjangoWeb application framework + MySQL database
weex入门踩坑
The latest safety helmet wearing recognition system in 2022
随机推荐
咕咚vs悦跑圈的竞品分析
Use regex to verify whether the file name is legal
梅科尔工作室-Pr第一次培训笔记(安装及项目创建)
CVPR2022——Not All Points Are Equal : IA-SSD
EMQX企业版试用笔记
scanf函数在混合接受数据(%d和%c相连接)时候的方式
STM32F4-正点原子探索者-SYSTEM文件夹下的delay.c文件内延时函数详解
梅科尔工作室-Pr第二次培训笔记(基本剪辑操作和导出)
Waymo dataset usage introduction (waymo-open-dataset)
Diagnostic Log and Trace——为应用程序和上下文设置日志级别的方法
weex入门踩坑
Node-1.高性能服务器
电商机会:私域
ActiveReports报表分类之页面报表
Mei cole studios - deep learning second BP neural network
Joint 3D Instance Segmentation and Object Detection for Autonomous Driving
The selection points you need to know about the helmet identification system
USB中用NRZI来编码数据
微信和抖音都到十亿级用户了,作为产品经理的你们觉得哪个产品更成功?
目标检测学习目录(持续更新)