用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

12月13日思考题(带注释语句版)

2017-12-13 作者:champagne举报

[c]代码库

#include<stdio.h>
int main() {
  printf("请任意输入两个整数:");
  int m, n, min, max;
  scanf("%d%d", &m, &n);
  if (m == n)
    printf("%d与%d的最大公约数与最小公倍数均为%d.\n", m, n, n);
  else if (m > n) {
    min = n;
    max = m;
  } 
  else if (m < n) {
    min = m;
    max = n;
  }/*以上语句作用是比较m,n的大小,将大的值给max,将小的值给min.*/
  while (min >= 1)/*m和n至少有一个约数1*/{
    if (m % min == 0 && n % min == 0){
      printf("%d与%d的最大公约数为%d.\n", m, n, min);
      break;
    } /*一旦得到约数,立即跳出循环,以保证该数是最大的.*/
    min--;
    }/*循环的作用是从m,n中小的值开始每次减一循环,直到得到公约数.*/
while(max<=999999999)/*找倍数时应该从m,n中较大的值每次加1,上限应很大以保证能找到*/{
      if (max % m == 0 && max % n == 0){
        printf("%d与%d的最小公倍数为%d.", m, n, max);
        break;
      } /*一旦得到公倍数,立即跳出循环,以保证该数是最小的.*/
      max++;
}/*循环的作用是从m,n中较大的值开始每次加一循环,直到得到公倍数.*/
return 0;
}

[代码运行效果截图]


12月13日思考题(带注释语句版)


分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。