分别求出数组中所有3的倍数之和以及5的倍数之和。形参n给了数组中数据的个数,利用指针three返回3的倍数之和,利用指针five返回5的倍数之和。例如:数组中的值依次为:1,5,9,2,3,15,11
时间: 2023-05-31 13:20:16 浏览: 190
### 回答1:
首先,需要计算出数组中所有为3的元素的个数以及所有为5的元素的个数。然后,分别将这两个数字分别乘以n,得出3的和以及5的和,即为所求的第一个和和第二个和。
例如,如果我们要在以下数组中找到3和5的和:[1, 5, 9, 2, 3, 15, 11],则3的个数为2(在索引4和5),5的个数为2(在索引1和5)。如果n为2,则3的和为2 * 3 = 6,5的和为2 * 5 = 10。
因此,这个问题的答案是第一个和为6,第二个和为10。
### 回答2:
这道题很明显需要遍历整个数组,对于每个元素判断其是否为3或5的倍数,然后累加对应的和。使用两个变量来存储这两个和,分别初始化为0即可。需要注意的是,一个数可能既是3的倍数,又是5的倍数,为了避免重复计算,可以用逻辑判断结合上整除符号%来判断。
以下是代码实现:
```c
void sum(int *arr, int n, int *three, int *five) {
*three = 0; // 3的倍数之和初始化为0
*five = 0; // 5的倍数之和初始化为0
for (int i = 0; i < n; i++) {
if (arr[i] % 3 == 0) { // 如果是3的倍数
*three += arr[i]; // 累加到3的倍数之和
}
if (arr[i] % 5 == 0) { // 如果是5的倍数
if (arr[i] % 3 != 0) { // 判断是否既是3的倍数,又是5的倍数
*five += arr[i]; // 如果不是,累加到5的倍数之和
}
}
}
}
```
以上是一个简单的实现,如果需要提高效率,可以采用并行计算,将判断与累加操作分离开来。
### 回答3:
先声明指针three和five,并初始化为0。然后遍历数组中的每个元素,判断其是否为3的倍数或者5的倍数。如果是3的倍数,则将该元素的值加到指针three所指向的变量上;如果是5的倍数,则将该元素的值加到指针five所指向的变量上。最后返回指针three和five所指向的变量即可。
代码如下:
```
void sum(int a[], int n, int* three, int* five)
{
*three = 0;
*five = 0;
for (int i = 0; i < n; i++)
{
if (a[i] % 3 == 0)
*three += a[i];
if (a[i] % 5 == 0)
*five += a[i];
}
}
int main()
{
int a[] = {1, 5, 9, 2, 3, 15, 11};
int n = sizeof(a) / sizeof(int);
int three, five;
sum(a, n, &three, &five);
printf("3的倍数之和为:%d\n", three);
printf("5的倍数之和为:%d\n", five);
return 0;
}
```
以上代码中,函数sum接受参数a、n、three和five。其中,a表示传入的数组,n表示数组中元素的个数,three和five为输出参数,用于返回3的倍数之和和5的倍数之和。在函数中,我们先将指针three和five初始化为0,然后利用for循环遍历数组中的每个元素,判断是否为3的倍数或者5的倍数,并累加到指针所指向的变量上。最后,返回指针指向的变量给主函数,输出结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)