求最大公约数c语言代码

c
#include <stdio.h> // 函数声明 int gcd(int a, int b); int main() { int num1, num2; // 输入两个整数 printf("请输入两个整数:\n"); scanf("%d %d", &num1, &num2); // 计算并输出最大公约数 printf("最大公约数是:%d\n", gcd(num1, num2)); return 0; } // 辗转相除法计算最大公约数 int gcd(int a, int b) { int temp; while (b != 0) { temp = a % b; a = b; b = temp; } return a; }

这段代码中,gcd() 函数使用了辗转相除法来计算两个整数的最大公约数。主函数 main() 负责接受用户输入的两个整数,并调用 gcd() 函数来计算它们的最大公约数,然后将结果输出。

头文件包含:

c
#include <stdio.h>

这行代码包含了标准输入输出函数库,以便使用 printf()scanf() 函数。

函数声明:

c
int gcd(int a, int b);

这是 gcd() 函数的声明,用于告诉编译器我们要定义一个名为 gcd 的函数,它接受两个整数参数并返回一个整数。

main() 函数:

c
int main() { // 代码 return 0; }

main() 函数是 C 程序的入口点。它接受用户输入两个整数,并调用 gcd() 函数计算它们的最大公约数,然后输出结果。

用户输入:

c
printf("请输入两个整数:\n"); scanf("%d %d", &num1, &num2);

使用 printf() 函数提示用户输入两个整数,然后使用 scanf() 函数接受用户输入的整数并将其存储在变量 num1num2 中。

gcd() 函数:

c
int gcd(int a, int b) { // 代码 return a; }

gcd() 函数使用辗转相除法计算两个整数的最大公约数,并返回结果。在这个函数中,我们使用了一个 while 循环来不断进行辗转相除操作,直到余数为 0。最后,返回不为 0 的被除数。