1.无限猜数版
1.1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int magic;
int guess;
unsigned int seed;
int counter;
srand(time(NULL));
counter=0;
magic=rand()%100+1;
//printf("%d\n",magic);答案
do{
printf("Please guess a number:");
scanf("%d",&guess);
counter++;
if(magic>guess)
{
printf("Wrong.Too small.\n");
}
if(magic<guess)
{
printf("Wrong.Too big.\n");
}
}while(magic!=guess);
if(magic==guess)
{
printf("Right!\n");
printf("The number is:%d.\n",guess);
}
return 0;
}
1.2
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int magic;
int guess;
unsigned int seed;
int counter;
srand(time(NULL));
counter=0;
magic=rand()%100+1;
//printf("%d\n",magic);答案
do{
printf("Please guess a number:");
scanf("%d",&guess);
counter++;
if(magic>guess)
{
printf("Wrong.Too small.\n");
}
if(magic<guess)
{
printf("Wrong.Too big.\n");
}
if(magic==guess)
{
printf("Right!\n");
printf("The number is:%d.\n",guess);
printf("The counter is %d.",counter);
}
}while(magic!=guess);
return 0;
}
2.限制猜数次数版
10次
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int magic;
int guess;
unsigned int seed;
int counter;
srand(time(NULL));
counter=0;
magic=rand()%100+1;
printf("%d\n",magic);
do{
printf("Please guess a number:");
scanf("%d",&guess);
counter++;
if(magic>guess)
{
printf("Wrong.Too small.\n");
}
if(magic<guess)
{
printf("Wrong.Too big.\n");
}
if(magic==guess)
{
printf("Right!\n");
printf("The number is:%d.\n",guess);
printf("The counter is %d.",counter);
}
}while(magic!=guess&&counter<10);
printf("The counter is %d.",counter);
return 0;
}
3.错了重来版
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int magic;
int guess;
unsigned int seed;
int counter;
char ch;
srand(time(NULL));
do{
counter=0;
magic=rand()%100+1;
//printf("%d\n",magic);答案
do{
printf("Please guess a number:");
scanf("%d",&guess);
counter++;
if(magic>guess)
{
printf("Wrong.Too small.\n");
}
if(magic<guess)
{
printf("Wrong.Too big.\n");
}
if(magic==guess)
{
printf("Right!\n");
printf("The number is:%d.\n",guess);
printf("The counter is %d.",counter);
}
}while(magic!=guess&&counter<10);
printf("The counter is %d.",counter);
printf("The next round!!!\n");
printf("Do you want to try again?(y or n)\n");
scanf(" %c",&ch);}while(ch=='y'||ch=='Y');
return 0;
}
ch的%c前要有一个空格。把前面的回车消除掉。
4.好好输入版
以上如果输入的不是数字会产生错误。
输入q。
防止输入非法字符。
printf("Please guess a number:");
a=scanf("%d",&guess);
while(a!=1)
{
while(getchar()!='\n');3
printf("Please guess a number properly:");
a=scanf("%d",&guess);
}
完整↓
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int magic;
int guess;
unsigned int seed;
int counter;
char ch;
int a;
srand(time(NULL));
do{
counter=0;
magic=rand()%100+1;
//printf("%d\n",magic);答案
do{
printf("Please guess a number:");
a=scanf("%d",&guess);
while(a!=1)
{
while(getchar()!='\n');3
printf("Please guess a number properly:");
a=scanf("%d",&guess);
}
counter++;
if(magic>guess)
{
printf("Wrong.Too small.\n");
}
if(magic<guess)
{
printf("Wrong.Too big.\n");
}
if(magic==guess)
{
printf("Right!\n");
printf("The number is:%d.\n",guess);
printf("The counter is %d.",counter);
}
}while(magic!=guess&&counter<10);
printf("The counter is %d.",counter);
printf("The next round!!!\n");
printf("Do you want to try again?(y or n)\n");
scanf(" %c",&ch);}while(ch=='y'||ch=='Y');
return 0;
}