C语⾔编程练习,猜数字游戏实现
编程记录,关于B站上鹏哥C语⾔课程中的练习记录
记录内容:C语⾔实现猜数字游戏(关于do-while循环)
第⼀步,关于猜数字游戏整体框架
2.game()函数内容为主要的判断数字正确与否的内容。
3.main()函数即运⾏过程。
第⼆步,具体内容
关于菜单打印
菜单可以循环出现,涉及循环语句do-while,直到⽤户输⼊0时程序完全结束。
循环开始⾸先打印菜单。
涉及条件语句,采⽤switch语句,输⼊1,进⼊game()开始游戏;输⼊0,退出循环;输⼊其他数字,显⽰输⼊错误要求重新输⼊,并且清空当前页⾯。
关于游戏内容
⾸先是关于随机数的⽣成,通过随机数来进⾏猜数游戏
c语言游戏编程题经典100例使⽤rand函数⽣成随机数,并且将随机数介于1-100之间
仅使⽤rand函数每次随机数相同,要再加⼊srand⼀起使⽤,且加上 stdlib.h头⽂件
Example
/* RAND.C: This program seeds the random-number generator
* with the time, then displays 10 random integers.
*/
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
void main(void)
{
int i;
/* Seed the random-number generator with current time so that
* the numbers will be different every time we run.
*/
srand((unsigned)time(NULL));
/* Display 10 numbers. */
for( i =0; i <10;i++)
printf(" %6d\n",rand());
}
其中,需要为srand提供⼀个变换的参数才能⽣成随机数,time()作为时间戳提供参数,但time()本⾝返回值是int类型,⽽srand需要unsigned int类型,所以进⾏强制类型转换。
每次⼯程开始只需要进⾏⼀次初始值设置,所以srand语句不在循环内部。
随机数⽣成完成后,⽤户每次输⼊数字进⾏⽐较,并给出相应提⽰,最后得出正确结果即可。
最终代码如下
#include<stdio.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
void menu()
{
printf("********************\n");
printf("****** 1 play ******\n");
printf("****** 0 exit ******\n");
printf("********************\n");
}
void game()
{
int random_num =rand()%100+1;
//printf("%d", random_num);
int input =0;
while(1)
{
printf("请输⼊你所猜的数字:");
scanf("%d",&input);
if(input < random_num)
printf("你的数字太⼩了!\n");
else if(input>random_num)
printf("你的数字太⼤了!\n");
else
{
printf("恭喜猜对!\n");
Sleep(2000);
system("cls");//完成后保持显⽰⼀会然后清屏break;
}
}
}
int main()
{
int input =0;
srand((unsigned)time(NULL));
do
{
menu();
printf("输⼊操作要求(0/1):");
scanf("%d",&input);
switch(input)
{
case1:
game();
break;//每⼀个case和default最好先都加上break case0:
break;
default:
printf("输⼊错误,请重新输⼊。\n");
Sleep(500);
system("cls");
break;
}
}while(input);//input存在即input==1
return0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论