编写程序,求三个正整数的最小公倍数。(要求用到循环语句)。
注:输入:由键盘输入三个正整数,中间由英文逗号分开;
输出:一个整数
如输入:2,5,8
则输出:40
提醒:千万不要有任何多余的输入或输出符号,如\n等。
#include<stdio.h>
int common_multiple(int, int, int);
int main() {
int x, y, z;
scanf("%d,%d,%d", &x, &y, &z);
printf("%d", common_multiple(x, y, z));
return 0;
}
int common_multiple(int a, int b, int c) {
//三目运算符,即有三个参与运算的量
//(a>b)?a:b; 执行该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。
/*
if (a > b) max = a;
else max = b;
*/
//下面计算3个正整数中的最大值
int max;
max = (a > b) ? a : b;
max = (max > c) ? max : c;
//计算最大值也可以采用结果导向的思路/
//即输出a,需要a>b&&a>c;/
//输出b,需要b>a&&b>c;/
//其余情况输出c
//计算最小公倍数
int i = 1;
//不要把C语言与python语法混淆,不可写成/
//while 1:
int result;
while (1) {
result = max * i;
if ((result % a == 0) && (result % b == 0) && (result % c == 0)) break;
i++;
}
return result;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:8
4 5 1 2 1 3 1 1