欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

猜数字游戏(C语言)

程序员文章站 2024-03-18 17:02:22
...

思路:
首先,创建一个menu()函数,由于存放猜数游戏的菜单;然后,创建一个guess()函数,用于存放猜数的过程;最后,在main()函数中调用menu()函数和guess()函数即可。

对于menu()函数,只需要用printf(“”)输出可以选择的游戏选项:1、play game 2、exist 即可。

对于guess()函数,先生成一个随机数,再将生成的随机数与输入值进行比较,在while循环中,若输入值大于随机数则输出“您猜大了!”,若输入值小于随机数则输出“您猜小了!”,否则输出(“恭喜,您猜对了”)跳出循环。

对于main()函数,在do while 循环中,使用switch语句 进行条件分支,调用menu菜单,当case 1 时,调用guess()函数,然后执行结束跳出switch语句,当case 2 时,直接跳出循环,退出游戏;输入其他数,则显示,选择错误,请重新选择。

menu()函数

void menu()
{
	printf("\t\t\t******************************************\n");
	printf("\t\t\t***********1、play game  2、exist**********\n");
	printf("\t\t\t******************************************\n");
}

guess()函数

void guess()
{
	int random = rand() % 100 + 1;
	int input = 0;
	while (1){
		printf("请输入您猜的数:");
		scanf_s("%d", &input);
		if (input < random){
			printf("您猜小了!\n");
		}
		else if (input > random){
			printf("您猜大了!\n");
		}
		else{
			printf("恭喜,您猜对了!\n");
			break;
		}
	}
}

源程序:

#include<stdio.h>
#include<Windows.h>
#include<time.h>
void menu()
{
	printf("\t\t\t******************************************\n");
	printf("\t\t\t***********1、play game  2、exist**********\n");
	printf("\t\t\t******************************************\n");
}
void guess()
{
	int random = rand() % 100 + 1;
	int input = 0;
	while (1){
		printf("请输入您猜的数:");
		scanf_s("%d", &input);
		if (input < random){
			printf("您猜小了!\n");
		}
		else if (input > random){
			printf("您猜大了!\n");
		}
		else{
			printf("恭喜,您猜对了!\n");
			break;
		}
	}
}
void main()
{
	srand((unsigned)time(NULL));
	int input = 0;
	do{
		menu();
		printf("请输入您的选择:");
		scanf_s("%d", &input);
		switch (input)
		{
		case 1:
			guess();
			break;
		case 2:
			input = 0;
			break;
		default:
			printf("您的选择错误,请重新选择!");
			break;
		}
	} while (input);
	system("pause");
}

运行结果:
猜数字游戏(C语言)