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;
}
 










