题目:
电脑根据函数随机给出一个一定范围内的数字;用户输入数字,去猜大小,对比数字,电脑给出提示,不断循环,知道猜正确。
#include#include void menu() { printf("*******************n"); printf("****** 1. play ****n"); printf("****** 0. exit ****n"); printf("*******************n"); } void game() { int guess = 0; int ret = rand() % 100 + 1;//生成1-100之间的随机数 while (1) { printf("请猜数字:>"); scanf("%d", &guess); if (guess < ret) printf("猜小了n"); else if (guess > ret) printf("猜大了n"); else { printf("恭喜你,猜对了n"); } } } 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("退出游戏n"); break; default: printf("输入错误,请重新选择!n"); break; } } while(input); return 0; }
注意:
rand()是生成随机数的函数,在使用它之前,还要调用srand()设置随机数的起始值。 srand()中传入的值不同rand生成的值就不同,因为时间是时刻在发生变化的,因此使用time()函数来生成一个时刻不同的值即可(与随机数不同,随机数不会规律变化)。并将time()函数的返回值强制类型转化为 unsigned int。同时,srand只要在程序开始时设置一次就可以了。



