用c语言编写一个从键盘中输入两个正整数,让计算机判断第2个数是第一个数的约数如果是输出yes不是输出no
时间: 2024-09-15 19:13:35 浏览: 28
在 C 语言中,你可以使用以下程序结构来实现这个功能:
```c
#include <stdio.h>
// 检查如果 num2 能够整除 num1 是否为约数
int is_divisor(int num1, int num2) {
if (num2 == 0) {
printf("Error: Division by zero is not allowed.\n");
return 0;
}
else if (num1 % num2 == 0) {
return 1; // 如果无余数,则num2是num1的约数
} else {
return 0; // 否则,num2不是num1的约数
}
}
int main() {
int num1, num2;
// 从用户处获取输入
printf("请输入第一个正整数: ");
scanf("%d", &num1);
printf("请输入第二个正整数: ");
scanf("%d", &num2);
// 判断并输出结果
if (is_divisor(num1, num2)) {
printf("Yes, %d is a factor of %d.\n", num2, num1);
} else {
printf("No, %d is not a factor of %d.\n", num2, num1);
}
return 0;
}
```
在这个程序里,`is_divisor` 函数检查 `num2` 是否能被 `num1` 整除,如果可以,则返回 1 表示是约数,否则返回 0。在 `main` 函数中,我们先获取用户输入的两个正整数,然后调用 `is_divisor` 函数,根据其返回值输出相应的 "yes" 或 "no"。