c语言,m是由键盘输入的,被3,5,7整除

编写函数,求出m个能被3、5或7整除、但不能被其中两个同时整除的所有整数从小
到大放在数组中。在main函数中验证。要求:m在main函数中由键盘输入,数组在main
函数中输出。

#include <stdio.h>

// 判断一个数是否能被3、5或7整除且不能被其中两个同时整除
int judge(int num) {
    if (num % 3 == 0 && num % 5 == 0)
        return 0;
    if (num % 3 == 0 && num % 7 == 0)
        return 0;
    if (num % 5 == 0 && num % 7 == 0)
        return 0;
    if (num % 3 == 0 || num % 5 == 0 || num % 7 == 0)
        return 1;
    return 0;
}

void find_nums(int m, int arr[]) {
    int i = 1, cnt = 0;
    while (cnt < m) {
        if (judge(i)) {
            arr[cnt++] = i;
        }
        i++;
    }
}

int main() {
    int m;
    printf("请输入m值:");
    scanf("%d", &m);

    int arr[m];
    find_nums(m, arr);

    printf("能被3、5或7整除、但不能被其中两个同时整除的%d个整数分别为:\n", m);
    for (int i = 0; i < m; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^