📜  C测验– 108 |问题5(1)

📅  最后修改于: 2023-12-03 15:14:25.930000             🧑  作者: Mango

C测验– 108 | 问题5

简介

本文介绍了C编程语言中的问题5,这是一道测试题目,要求计算并输出一个给定整数的所有约数。

问题描述: 给定一个正整数,编写一个函数来计算并打印出该整数的所有约数。

#include <stdio.h>

void printDivisors(int num) {
    // TODO: 实现计算和打印约数的函数
}

int main() {
    int num;
    printf("输入一个整数:");
    scanf("%d", &num);

    printDivisors(num);

    return 0;
}

请在printDivisors函数中完成计算和打印约数的实现。

解决方案
#include <stdio.h>

void printDivisors(int num) {
    printf("约数: ");
    for (int i = 1; i <= num; i++) {
        if (num % i == 0) {
            printf("%d ", i);
        }
    }
    printf("\n");
}

int main() {
    int num;
    printf("输入一个整数:");
    scanf("%d", &num);

    printDivisors(num);

    return 0;
}
解释

这个程序包含一个函数printDivisors,它接受一个整数作为输入,并打印出该整数的所有约数。在main函数中,用户将被要求输入一个整数,然后调用printDivisors函数来计算并打印约数。

printDivisors函数使用一个循环从1到给定的整数,检查是否能整除该数。如果能整除,则打印出约数。

运行示例

输入一个整数: 10 约数: 1 2 5 10

输入一个整数: 25 约数: 1 5 25

输入一个整数: 7 约数: 1 7

输入一个整数: 13 约数: 1 13

总结

这道测试题目要求计算并打印给定整数的所有约数。我们可以使用一个循环来迭代从1到给定整数的所有数字,并检查能否整除给定整数。如果可以整除,则打印出约数。这是一道很好的练习题目,对于熟悉C编程语言的程序员来说,不难解决。