首页 > 代码库 > 林昊4

林昊4

猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){    srand(time(NULL));    while(true)    {        int min = 0;        int max = 100;        int a = 0 ;        int count = 0;//次数        int target = rand()%max + 1;//产生随机数        while(true)        {            int guess = 0;            printf("请输入%d-%d之间的数\n",min,max);            scanf("%d",&guess);             count++;            if(guess < a)            {                printf("负数无效,Game Over\n");                exit(0);            }            if(guess < min||guess > max)            {                printf("你粗心了,请看清楚,输入的数为%d - %d\n",min,max);                continue;            }            else            {                if(target==guess)                {                    printf("YOU WIN!\n",count);                     printf("共猜了%d次。\n",count);                       break;                }                else if(target > guess)                {                    min = guess;                    printf("数字大于%d\n",guess);                    printf("Too small\n");                }                else                 {                    max = guess;                    printf("数字小于%d\n",guess);                    printf("Too big\n");                }            }        }        printf("共猜了%d次。\n",count);           if(count==1)        printf ("Bingo!");        if(count<=3)        printf("Lucky you!!");        if(count>3)        printf("Good guess!!!");    }    return 0;}

  第二个版本让玩家控制猜测次数

#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){    srand(time(NULL));    while(true)    {        int min = 0;        int max = 100;        int a = 0;        int b;        int count = 0;//次数        int target = rand()%max + 1;//产生随机数        printf("你想玩多少次?(如果超过N次都没有猜到,则游戏结束,输入0则为无限次数):");	    scanf("%d",&b);		while(true)        {            int guess = 0;            printf("请输入%d-%d之间的数\n",min,max);            scanf("%d",&guess);            count++;            if(count==b)            {			    printf("已达你决定猜测的游戏最大次数%d次,Game Over\n",b);				exit(0);            }            if(guess < a)            {                printf("负数无效,Game Over\n");                exit(0);            }            if(guess < min||guess > max)            {                printf("你粗心了,请看清楚,输入的数为%d - %d\n",min,max);                continue;            }            else            {                if(target==guess)                {                    printf("YOU WIN!\n",count);                    printf("共猜了%d次。\n",count);                      break;                }                else if(target > guess)                {                    min = guess;                    printf("数字大于%d\n",guess);                    printf("Too small\n");                }                else                {                    max = guess;                    printf("数字小于%d\n",guess);                    printf("Too big\n");                }            }        }         if(count==1)        printf ("Bingo!\n");        if(count<=3)        printf("Lucky you!!\n");        if(count>3)        printf("Good guess!!!\n");    }    return 0;}

  

从键盘上输入2个正整数,输出这两个数的最大公约数和最小公倍数。
#include<stdio.h>int main(){    int a,b,m,i,o=1;    printf("请输入:");    scanf("%d %d",&a,&b);    m=a;    if(a<b)    {        a=b;        b=m;    }    for(i=2;i<=b;i++)    {        if(a%i==0&&b%i==0)        o=i;    }    printf("最大公约数:%d\n",o);    m=(a*b)/o;    printf("最小公倍数:%d\n",m);    return 0;}

  

林昊4