//==标记==首先需要明确几个定义 NULL 这个宏是一个空指针常量的值 srand函数是随机数发生器的初始化函数。原型:void srand(unsigned seed); 使用时只需先放在主程序开始出,后面直接用rand就可以了 rand函数原型(用来产生一个随机数的函数) #include <stdlib.h> int rand(void); void game/menu()-是指调用的无参函数 不过为了防止随机数每次重复,常常使用系统时间来初始化,即使用 time函数来获得系统时间 还有标准库头文件-#include<stdlib.h>-本题用法是调用了rand()和srand()函数,还有宏NULL switch:多分支选择语句

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("***************************\n");
printf("****  1.play   0.exit  ****\n");
printf("***************************\n");
}
void game()
{
int guess,ret;
ret = rand()%100 + 1;
while(1)
{
printf("Please guess the number:");
scanf("%d",&guess);
if(guess>ret)
{
printf("Guess big\n");
}
else if(guess<ret)
{
printf("Guess small\n");
}
else
{
printf("Congratulation,you guess right numerical value\n");break;
}
}
}
int main()
{
int input;
srand((unsigned int)time(NULL));
do
{
menu();
printf("Please select :");
scanf("%d",&input);
switch(input)
{
case 1:game();break;
case 0:printf("Exit the game\n");break;
default:printf("Selection error!!!\n");break;
}
}
while(input);
return 0;
}

//==标记==前前后后错了很多吧,把几个易错点(我错的)标注出来

  1. do循环后面没有括号
  2. srand函数()里面的类型别忘记
  3. scanf函数后面不要加换行符,不然点回车不会打印
  4. 输出和输入函数的位置要放正确