• 林昊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之间的数
    ",min,max);
                scanf("%d",&guess); 
                count++;
                if(guess < a)
                {
                    printf("负数无效,Game Over
    ");
                    exit(0);
                }
                if(guess < min||guess > max)
                {
                    printf("你粗心了,请看清楚,输入的数为%d - %d
    ",min,max);
                    continue;
                }
                else
                {
                    if(target==guess)
                    {
                        printf("YOU WIN!
    ",count); 
                        printf("共猜了%d次。
    ",count);   
                        break;
                    }
                    else if(target > guess)
                    {
                        min = guess;
                        printf("数字大于%d
    ",guess);
                        printf("Too small
    ");
                    }
                    else 
                    {
                        max = guess;
                        printf("数字小于%d
    ",guess);
                        printf("Too big
    ");
                    }
                }
            }
            printf("共猜了%d次。
    ",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之间的数
    ",min,max);
                scanf("%d",&guess);
                count++;
                if(count==b)
                {
    			    printf("已达你决定猜测的游戏最大次数%d次,Game Over
    ",b);
    				exit(0);
                }
                if(guess < a)
                {
                    printf("负数无效,Game Over
    ");
                    exit(0);
                }
                if(guess < min||guess > max)
                {
                    printf("你粗心了,请看清楚,输入的数为%d - %d
    ",min,max);
                    continue;
                }
                else
                {
                    if(target==guess)
                    {
                        printf("YOU WIN!
    ",count);
                        printf("共猜了%d次。
    ",count);  
                        break;
                    }
                    else if(target > guess)
                    {
                        min = guess;
                        printf("数字大于%d
    ",guess);
                        printf("Too small
    ");
                    }
                    else
                    {
                        max = guess;
                        printf("数字小于%d
    ",guess);
                        printf("Too big
    ");
                    }
                }
            } 
            if(count==1)
            printf ("Bingo!
    ");
            if(count<=3)
            printf("Lucky you!!
    ");
            if(count>3)
            printf("Good guess!!!
    ");
        }
        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
    ",o);
        m=(a*b)/o;
        printf("最小公倍数:%d
    ",m);
        return 0;
    }
    

      

  • 相关阅读:
    linux-Redhat7 windows物理机与虚拟机设置共享目录
    解决Vue-cli3.0下scss文件编译过慢、卡顿问题
    CCS进阶——div的宽度和高度是由什么决定的?
    在线图片资源转换成Base64格式
    浅析libuv源码-node事件轮询解析(4)
    MaxCompute Studio使用心得系列7——作业对比
    from _sqlite3 import * ImportError: DLL load failed: 找不到指定的模块。
    Java高并发程序设计学习笔记(九):锁的优化和注意事项
    模块:摘要算法,hashlib
    面向对象:类的内置方法
  • 原文地址:https://www.cnblogs.com/linhao8/p/5944277.html
Copyright © 2020-2023  润新知