调用函数,生成随机数rank(),switch,do-while,
do-while语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。其实就是,代码在刚开始执行的时候,都是要先走一遍do循环体内的代码,然后在与while里面的条件进行判断,成立循环就一直继续下去,不成立就跳出循环。循环体内代码至少被执行一次。
while语句是属于前测试循环语句,也就是说,在循环体内的代码被执行之前,就会对出口条件求值。其实就是先与while里面的条件进行判断,成立就走循环体内的代码,不成立就不走循环体内代码。循环体内的代码有可能永远不会执行。
#include<stdio.h>
#include<stdlib.h>//rank()调用
#include<time.h>//时间戳
void menu()
{
printf("***********************\n");
printf("**** 1.play 0.exit****\n");
printf("***********************\n");
}
void game()
{
int ret=0;
int guess=0;
ret=rand()%100+1;//rand()生成一个很大范围的随机数, 求模+1-->变成1-100的数
while(1)
{
printf("请猜数字:>");
scanf("%d",&guess);
if(guess>ret)
{
printf("猜大了\n");
}
else if(guess<ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了!");
break;
}
}
}
int main()
{
int input=0;
srand((unsigned int)time(NULL)); //MSDN:Use the srand funtion to seed the pseudorandom-number generator before calling rand
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;
}
时光变换 一切皆可code