C语言程序:判断正整数并打印所有乘积因子
以下是一个实现该功能的C语言程序:
#include <stdio.h>
void printFactors(int num) {
printf("乘积因子: ");
for (int i = 1; i <= num / 2; i++) {
if (num % i == 0) {
if (i != num / i) {
printf("%d * %d, ", i, num / i);
} else {
printf("%d, ", i);
}
}
}
printf("%d\n", num);
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (num > 0) {
printf("%d 是一个正整数\n", num);
printFactors(num);
} else {
printf("%d 不是一个正整数\n", num);
}
return 0;
}
程序首先通过scanf函数获取用户输入的整数。然后通过if条件判断是否是正整数,如果是则调用printFactors函数打印乘积因子。
printFactors函数通过循环从1到num/2遍历所有可能的因子,如果num能被i整除,则i和num/i是一对乘积因子。在打印乘积因子时,通过判断i和num/i是否相等来避免重复打印。
最后,程序输出结果并结束。
原文地址: https://www.cveoy.top/t/topic/pxe7 著作权归作者所有。请勿转载和采集!