c语言实验 4.4 编写一个函数,其功能是用于求出 300~500 之间能被 3 或 5 整除。但不能同时被 3 和 5 整 除的所有整数,并将它们存放在一维数组中。
时间: 2024-01-22 08:17:27 浏览: 31
以下是实现该功能的 C 语言代码:
```c
#include <stdio.h>
#define MIN 300
#define MAX 500
void divisible(int arr[], int *size);
int main() {
int arr[MAX - MIN + 1];
int size = 0;
divisible(arr, &size);
printf("Divisible numbers:\n");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void divisible(int arr[], int *size) {
for (int i = MIN; i <= MAX; i++) {
if (i % 3 == 0 && i % 5 == 0) {
continue;
} else if (i % 3 == 0 || i % 5 == 0) {
arr[*size] = i;
(*size)++;
}
}
}
```
在该代码中,我们首先定义了 `MIN` 和 `MAX` 常量分别表示要求整数范围的最小值和最大值。
然后我们定义了 `divisible` 函数,该函数有两个参数。第一个参数 `arr` 是一个整数类型的一维数组,我们将符合条件的整数存储在该数组中。第二个参数 `size` 是一个指向整数类型变量的指针,用于记录存储在数组中的整数个数。
在 `divisible` 函数中,我们使用 for 循环遍历整数范围内的所有整数。如果一个整数既能被 3 整除又能被 5 整除,则跳过该整数。如果一个整数能被 3 整除或者能被 5 整除,则将其存储在数组中,并将 `size` 变量加 1。
最后在 `main` 函数中,我们定义一个一维数组 `arr` 用于存储符合条件的整数。我们调用 `divisible` 函数,将符合条件的整数存储到数组中,并输出数组中的所有整数。