以下是一个实现该功能的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整除,则inum/i是一对乘积因子。在打印乘积因子时,通过判断inum/i是否相等来避免重复打印。

最后,程序输出结果并结束。

C语言程序:判断正整数并打印所有乘积因子

原文地址: https://www.cveoy.top/t/topic/pxe7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录