用C语言来写猜数字游戏
2018-03-28 21:32
204 查看
猜数字游戏
首先制定目录用menu(),然后用switch语句在选择玩游戏时调用游戏的函数,先设定随机数字,然后用while语句来循环数字是否输入正确。
rand是生成一个伪随机数(0-32767),是在调用rand的时候要用srand函数(设置随机数的生成起点)为伪随机数生成器提供种子。rand随机生成的数字太大,所以去模100,余数也是随机数。
void srand( unsigned int seed );只要seed发生变化就会发生变化,我们可以想到电脑上的时间一直在发生变化,time为时间函数,time函数返回的其实是函数执行在time函数的那一刻到计算机起始时间的一个差值,用这个差值做随机数的生成器。time函数有参数,但是我们在这里不关心这个函数的参数,我们设定time为一个空指针time(NULL)。
#include<stdio.h> #include<stdlib.h> #include<time.h> void menu() { printf("***********************\n"); printf("***** 1.play *****\n"); printf("***** 2.exit *****\n"); printf("***********************\n"); } void game() { int ret = 0; int n = 0; ret = rand()%100; while(1) { printf("请输入数字:>"); scanf("%d",&n); if(n>ret) { printf("猜大了\n"); } else if(n<ret) { printf("猜小了\n"); } else { printf("猜对了\n"); break; } } } int main() { int input = 0; srand((unsigned int)time(NULL)); do { menu(); printf("请选择:>"); scanf("%d", &input); switch(input) { case 1: game(); break; case 0: printf("退出"); break; default: printf("选择错误"); break; } }while(input); return 0; }