> 文档中心 > C语言实战项目【1】猜数字

C语言实战项目【1】猜数字

之前答应你们的猜数字游戏来啦,因为过年,变懒了,所以隔了快一个月才想起来发

在我们做一个实战项目之前,要先想好思路,想要做好猜数字游戏,我们得要做好以下的事情

1.做一个目录

2.做一个运行游戏和退出游戏的选项

3.别人猜数字之后,要告诉别人猜大了,猜小了,猜中了等等

4.要生成随机数,并且是要有一个范围的

1.目录很简单

做一个目录函数

void menu(){printf("************************\n");printf("*******1.猜数字*********\n");printf("*******0.退出***********\n");printf("************************\n");}

运行和退出都可以让用户在这里知道怎么操作

2.运行和退出的选项可以用switch来完成

3.猜大了,猜小了用if来比较就行了,并且在没猜中的时候应该while(1)来循环执行,然后猜中了就用break跳出

4.最难的就是生成随机数了,这里我们要了解一个函数

    ret=rand()%100+1;
这个函数就是生成随机数的函数,对他进行对100取余,也就控制住数字在1-100了

但是这个函数是伪随机的,第二次执行程序的时候,还会是一样的数字

所以我们还要再加这样一段代码,让他随之时间变化而变化

srand((unsigned int)time(NULL));

在这些问题都解决的时候,就能写出猜数字的代码了

#include#include#includevoid menu(){printf("************************\n");printf("*******1.猜数字*********\n");printf("*******0.退出***********\n");printf("************************\n");}void game(){int guess,ret;ret=rand()%100+1;printf("请输入:>\n");while (1){scanf("%d", &guess);if (guess > ret)printf("猜大了\n");else if (guess < ret)printf("猜小了\n");else{printf("恭喜你,猜对了\n");break;}}}int main(){int n;srand((unsigned int)time(NULL));     //这个位置不用纠结,在cplasplas里面的举例里,这个函数和rand是配合使用的do{menu();scanf("%d", &n);switch (n){case 1:{game();break;}case 0:{printf("退出程序\n");break;}default:printf("输入错误\n");break;}} while (n);return 0;}

就这一点点简单的代码,就可以完成猜数字的游戏了,快去试试把