首页 > 代码库 > 张照行的第四次作业

张照行的第四次作业

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在循环过后还是没赋上值,但是为什么还是没发现,求解

张照行的第四次作业