代码涉及以下内容:
1.do while循环 嵌套 switch判断;
2.if语句的判断;
3.以及menu函数的外包装。具体来说,void表示函数game不返回任何值,即它是一个无返回值的函数。这意味着函数game执行完毕后不会返回任何数据给调用它的地方。(即外包函数)
4.这是游戏的重点,就是输出随机数字;
#include<stdlib.h> 伪随机数生成函数(rand)
#include<time.h> 获取当前时间函数(time)
用rand函数输出随机数
eg:rand()%100+1; //%100的余数为 0~99 的数字;即范围为:1~100
5.final ,我是c语言初学者,如果有什么错误请多多指教!
#define _CRT_SECURE_NO_WARNINGS 1 //(宏定义)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("****************************\n");
printf("**** 1.input ****\n");
printf("**** 0.exit ****\n");
printf("****************************\n");
}
void game()
{
int ret = rand() % 100 + 1;
int guess = 0;
int q = 5;
while (q)
{
printf("你还有%d次机会答题!\n", q);
printf("请输入你要猜的数字:");
scanf("%d", &guess);
if (guess > ret)
{
printf("猜大了!\n");
}
else if (guess < ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了!\n");
break;
}
q--;
}
if (q == 0)
{
printf("你挑战失败!goodbye!\n正确值是%d\n", ret);
}
}
int main()
{
srand((unsigned int)time(NULL));//强制转换;
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);
return 0;
}