c语言之循环语句练习

发布时间:2024年01月23日

猜数字游戏

基本逻辑:

电脑产生一个随机数(1~100)
猜的数字比随机数大,需要反馈猜对了
猜的数字比随机数小,需要反馈猜小了

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
?? ?printf("*********************\n");
?? ?printf("*******1.play********\n");
?? ?printf("*******0.exit********\n");
?? ?printf("*********************\n");
}
//RAND_MAX--rand函数能返回随机数的最大值。
void game()
{
?? ?int guess = 0;
?? ?//1.生成随机数
?? ?//任何一个数模上100就会变成0~99之间的数字,再+1就会变成0~100之间的数字
?? ?int ret = rand() % 100 + 1;
?? ?//printf("%d\n", ret);
?? ?//2.猜数字
?? ?while (1)
?? ?{
?? ??? ?printf("请猜数字:>");
?? ??? ?scanf("%d", &guess);
?? ??? ?if (guess > ret)
?? ??? ?{
?? ??? ??? ?printf("猜大了\n");
?? ??? ?}
?? ??? ?else if (guess < ret)
?? ??? ?{
?? ??? ??? ?printf("猜小了\n");
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?printf("猜对了\n");
?? ??? ??? ?break;
?? ??? ?}
?? ?}
}
int main()
{
?? ?int input = 0;
?? ?srand((unsigned int)time(NULL));//time()函数的返回值类型是time_t;srand需要的是unsigned类型,所以强制类型转换(unsigned int)
?? ?do
?? ?{
?? ??? ?menu();
?? ??? ?printf("请选择:>");
?? ??? ?scanf("%d", &input);
?? ??? ?switch (input)
?? ??? ?{
?? ??? ?case 1:
?? ??? ??? ?game();//"猜数字的逻辑"
?? ??? ??? ?break;
?? ??? ?case 0:
?? ??? ??? ?break;
?? ??? ?default:
?? ??? ??? ?printf("选择错误,重新选择\n");
?? ??? ??? ?break;
?? ??? ?}
?? ?}
?? ?while (input);
?? ?return 0;
}

文章来源:https://blog.csdn.net/2401_82647739/article/details/135758888
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。