解题思路:优先比较输入的两个数的大小,从而可以比较方便地开始进行循环,大大减少了两个数的比较相关代码行数。
注意事项:两个for循环第一次找到最大公约数和最小公倍数之后要有break退出循环。
参考代码:
#include<stdio.h> int main() { int x, y, max, min; scanf("%d%d", &x, &y); min = x < y ? x : y; max = x > y ? x : y; for (int i = min; i > 0; i--) { if ((x % i == 0) && (y % i == 0)) { printf("%d ", i); break; } } for (int j = max; j < x * y + 1; j++) { if ((j % x == 0) && (j % y == 0)) { printf("%d", j); break; } } return 0; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1126 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:520 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:576 |
哥德巴赫曾猜测 (C语言代码)浏览:2348 |
C语言考试练习题_保留字母 (C语言代码)浏览:713 |
数对 (C语言代码)浏览:702 |
Hello, world! (C语言代码)浏览:714 |
【亲和数】 (C语言代码)浏览:600 |
模拟计算器 (C语言代码)浏览:2300 |
C语言程序设计教程(第三版)课后习题12.6 (C语言代码)浏览:662 |