程序生成c语言(从键盘输入2个正整数,求他们的最大公约数,2个正整数之间用空格隔开)
时间: 2023-06-26 22:09:13 浏览: 104
下面是一个简单的程序,可以实现从键盘输入2个正整数,求它们的最大公约数,两个正整数之间用空格隔开,使用的是辗转相除法:
```c
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入两个正整数:\n");
scanf("%d %d", &a, &b);
// 求最大公约数
while (b != 0) {
c = a % b;
a = b;
b = c;
}
printf("两个数的最大公约数为:%d\n", a);
return 0;
}
```
首先通过 `scanf` 函数从键盘输入两个正整数 `a` 和 `b`,然后通过辗转相除法求它们的最大公约数,最后输出结果。
相关问题
C语言从键盘输入2个正整数,求它们的最大公约数。 Input 2个正整数,中间用空格隔开。 Output
可以使用辗转相除法求解两个正整数的最大公约数。具体的实现过程如下:
```c
#include <stdio.h>
int main() {
int a, b, temp;
printf("请输入两个正整数,中间用空格隔开:\n");
scanf("%d %d", &a, &b);
// 保证 a >= b
if (a < b) {
temp = a;
a = b;
b = temp;
}
// 辗转相除
while (b != 0) {
temp = a % b;
a = b;
b = temp;
}
printf("最大公约数为 %d\n", a);
return 0;
}
```
程序中先输入两个正整数,然后使用 if 语句将 a 和 b 交换,保证 a >= b。接着使用 while 循环进行辗转相除,最后输出最大公约数。
希望能够帮到你!
题目描述 输入只有一行,包含三个正整数,用空格隔开。求他们的最大公约数并输出 用c语言编写出来
题目描述是这样的:你需要编写一个C语言程序,该程序接受用户从键盘输入的三个正整数,并计算这三个数的最大公约数(Greatest Common Divisor, GCD)。GCD是能够同时整除这三个数的最大正整数。程序的主要任务是读取输入、计算GCD,然后将结果输出到屏幕上。
以下是用C语言实现的一个简单示例:
```c
#include <stdio.h> // 包含输入输出函数
// 使用欧几里得算法计算两个数的最大公约数
int gcd(int num1, int num2) {
if (num2 == 0)
return num1;
else
return gcd(num2, num1 % num2);
}
// 主函数,用于获取用户输入并计算三个数的最大公约数
int main() {
int a, b, c; // 定义三个整数变量
scanf("%d %d %d", &a, &b, &c); // 从用户那里接收输入
// 先计算前两个数的GCD,然后用这个结果去计算和第三个数的GCD
int result = gcd(a, b);
result = gcd(result, c);
printf("The greatest common divisor of %d, %d, and %d is: %d\n", a, b, c, result); // 输出结果
return 0;
}
```
阅读全文