猜一次
#include <stdio.h>
#include <stdlib.h>
int main()
{
int magic ,guess;
magic =rand()%100 +1;
printf("请输入一个数字:");
scanf("%d",&guess);
if(guess > magic)
{
printf("错误!太大!");
}
else if(guess < magic)
{
printf("错误!太小!");
}
else
{
printf("正确!");
printf("这个数字是:%d\n",magic);
}
return 0;
}
猜对为止
#include <stdio.h>
#include <stdlib.h>
int main()
{
int magic ,guess,counter;
magic =rand()%100 +1;
counter = 0;
do{
printf("请输入一个数字:");
scanf("%d",&guess);
counter++;
if(guess > magic)
{
printf("错误!太大!\n");
}
else if(guess < magic)
{
printf("错误!太小!\n");
}
else
{
printf("正确!\n");
printf("这个数字是:%d\n",magic);
}
}while(guess != magic);
printf("用户猜的次数是:%d \n",counter);
return 0;
}
随机数够随机
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int magic ,guess,counter;
srand(time(NULL));
magic =rand()%100 +1;
counter = 0;
do{
printf("请输入一个数字:");
scanf("%d",&guess);
counter++;
if(guess > magic)
{
printf("错误!太大!\n");
}
else if(guess < magic)
{
printf("错误!太小!\n");
}
else
{
printf("正确!\n");
printf("这个数字是:%d\n",magic);
}
}while(guess != magic);
printf("用户猜的次数是:%d \n",counter);
return 0;
}
只能猜10次
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int magic ,guess,counter;
srand(time(NULL));
magic =rand()%100 +1;
counter = 0;
do{
printf("请输入一个数字:");
scanf("%d",&guess);
counter++;
if(guess > magic)
{
printf("错误!太大!\n");
}
else if(guess < magic)
{
printf("错误!太小!\n");
}
else
{
printf("正确!\n");
printf("这个数字是:%d\n",magic);
}
}while(guess != magic && counter<10);
printf("用户猜的次数是:%d \n",counter);
return 0;
}
猜多次
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int magic ,guess,counter;
char reply;
srand(time(NULL));
do{
magic =rand()%100 +1;
counter = 0;
do{
printf("请输入一个数字:");
scanf("%d",&guess);
counter++;
if(guess > magic)
{
printf("错误!太大!\n");
}
else if(guess < magic)
{
printf("错误!太小!\n");
}
else
{
printf("正确!\n");
printf("这个数字是:%d\n",magic);
}
}while(guess != magic && counter<3);
printf("用户猜的次数是:%d \n",counter);
printf("继续猜游戏?(Y/N or y/n)");
scanf(" %c",&reply);//%c前面空格,表示忽略输入时的空格或回车
}while((reply == 'Y') || (reply == 'y'));
return 0;
}
处理非法输入
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int magic ,guess,counter,ret;
char reply;
srand(time(NULL));
do{
magic =rand()%100 +1;
counter = 0;
do{
printf("请输入一个数字:");
//scanf("%d",&guess);
//处理非法输入
ret = scanf("%d",&guess);
while (ret != 1)
{
while(getchar() != '\n');
printf("请输入一个数字:");
ret = scanf("%d",&guess);
}
counter++;
if(guess > magic)
{
printf("错误!太大!\n");
}
else if(guess < magic)
{
printf("错误!太小!\n");
}
else
{
printf("正确!\n");
printf("这个数字是:%d\n",magic);
}
}while(guess != magic && counter<3);
printf("用户猜的次数是:%d \n",counter);
printf("继续猜游戏?(Y/N or y/n)");
scanf(" %c",&reply);//%c前面空格,表示忽略输入时的空格或回车
}while((reply == 'Y') || (reply == 'y'));
return 0;
}