C语言题目?
编写程序,求三个正整数的最小公倍数。(要求用到循环语句)。注:输入:由键盘输入三个正整数,中间由英文逗号分开;输出:一个整数如输入:2,5,8则输出:40提醒:千万不要有...
编写程序,求三个正整数的最小公倍数。(要求用到循环语句)。
注:输入:由键盘输入三个正整数,中间由英文逗号分开;
输出:一个整数
如输入:2,5,8
则输出:40
提醒:千万不要有任何多余的输入或输出符号,如\n等。 展开
注:输入:由键盘输入三个正整数,中间由英文逗号分开;
输出:一个整数
如输入:2,5,8
则输出:40
提醒:千万不要有任何多余的输入或输出符号,如\n等。 展开
3个回答
展开全部
下面是一个求三个正整数最小公倍数的 C 语言程序示例,基于辗转相除法求解:
#include <stdio.h>
int main() {
int a, b, c;
// 输入三个正整数
printf("请输入三个正整数,用逗号分隔:\n");
scanf("%d,%d,%d", &a, &b, &c);
// 求解 a 和 b 的最大公约数
int temp;
while (b > 0) {
temp = b;
b = a % b;
a = temp;
}
// 求解 a 和 c 的最大公约数
while (c > 0) {
temp = c;
c = a % c;
a = temp;
}
// 输出最小公倍数
printf("最小公倍数为:%d\n", (a * b / a));
return 0;
}
#include <stdio.h>
int main() {
int a, b, c;
// 输入三个正整数
printf("请输入三个正整数,用逗号分隔:\n");
scanf("%d,%d,%d", &a, &b, &c);
// 求解 a 和 b 的最大公约数
int temp;
while (b > 0) {
temp = b;
b = a % b;
a = temp;
}
// 求解 a 和 c 的最大公约数
while (c > 0) {
temp = c;
c = a % c;
a = temp;
}
// 输出最小公倍数
printf("最小公倍数为:%d\n", (a * b / a));
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main() {
int num1, num2, num3, lcm;
printf("请输入三个正整数,用逗号隔开:");
scanf("%d,%d,%d", &num1, &num2, &num3);
// 求出最大的数
int max = num1 > num2 ? (num1 > num3 ? num1 : num3) : (num2 > num3 ? num2 : num3);
for (lcm = max; lcm <= num1 * num2 * num3; lcm += max) {
if (lcm % num1 == 0 && lcm % num2 == 0 && lcm % num3 == 0) {
printf("它们的最小公倍数是:%d", lcm);
break;
}
}
return 0;
}
int main() {
int num1, num2, num3, lcm;
printf("请输入三个正整数,用逗号隔开:");
scanf("%d,%d,%d", &num1, &num2, &num3);
// 求出最大的数
int max = num1 > num2 ? (num1 > num3 ? num1 : num3) : (num2 > num3 ? num2 : num3);
for (lcm = max; lcm <= num1 * num2 * num3; lcm += max) {
if (lcm % num1 == 0 && lcm % num2 == 0 && lcm % num3 == 0) {
printf("它们的最小公倍数是:%d", lcm);
break;
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询