0
点赞
收藏
分享

微信扫一扫

简单的猜数2

吓死我了_1799 2022-01-25 阅读 30
c语言

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

 

举报

相关推荐

0 条评论