• 张照行的第四次作业 张照行


    1.猜数字游戏

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        int n;
        srand(time(NULL));
        n=1+(rand()%100);//生成0~100之间的随机整数
        printf("猜猜这个数是几:");
        int a;
        int i;
        for(i=1;i<=10;i++)
        {    
            scanf("%d/n",&a);
            if(a==n)
              {
                  if(i==1)
                      printf("Bingo!");          
                  else if(i<=3)
                      printf("Lucky You!");                                    
                else            
                    printf("Good Guess!");                                    
                break;    
              }
            else if(a<=0)
            {
                printf("Game Over");
                break;            
            }  
            else if(a>n)
            {
                printf("Too big\n");            
            }
            else if(a<n)
            {
                printf("Too small\n");
            }
            else;
            if(i==10)
            {
                printf("Game Over");
                break;
            }
            else;
        }
        return 0;
    } 

    2.最大公约数 最小公倍数

    #include <stdio.h>
    int main()
    {
        int a,b,i,m,n;
        scanf("%d %d",&a,&b);
        m=1;
        for(i=2;i<=a;i++)
        {
            if(a%i==0 && b%i==0)
                m=i;     
        }
        printf("它们的最大公约数为:%d\n",m);
        n = a*b;
        for(i=a*b-1;i>=a;i--)
        {
            if(i%a==0 && i%b==0)
                n=i;
        }
        printf("它们的最小公倍数为:%d",n);
        return 0;
    }

    疑问:2.求最大公约数最小公倍数最开始我是这样做的

    #include<stdio.h>
    int main()
    {
         printf("请输入两个正整数:");
         int a,b,c,d,m,n;
         scanf("%d %d",&a,&b);
         if(a>=b)
        {
            c=a;
            d=b;
        }
        else if(a<b)
        {
            c=b;
            d=a;
        }        
         int i;
         for(i=d;i>=1;i--)
        {
            if(a%i==0 && b%i==0)
                m=i;
            break;    
        }
        printf("最大公约数为:%d\n",m);
        int f;
        for(f=c;f<=a*b;f++)
        {
            if(f%a==0 && f%b==0)
                n=f;
               break;
        }
        printf("最小公倍数为:%d",n);
        return 0;
    } 

    但是大多能对,但就是有几组数不对,比如15 20。。。改动了好多次都不对,定义的时候给m和n赋过值运行过,所以我觉得好像是有可能m和n在循环过后还是没赋上值,但是为什么还是没发现,求解

  • 相关阅读:
    Nowcoder9981A.串(排列组合)
    267D.Fedor and Essay(强连通分量缩点+DAG上DP)
    1290C. Prefix Enlightenment(带权并查集)
    LeetCode1. 两数之和
    LeetCode451. 根据字符出现频率排序
    LeetCode205. 同构字符串
    LeetCode290. 单词规律
    LeetCode202. 快乐数
    LeetCode242. 有效的字母异位词
    LeetCode136. 只出现一次的数字
  • 原文地址:https://www.cnblogs.com/160809332zzh/p/5940380.html
Copyright © 2020-2023  润新知