用c语言写定义长度为10的整型数组,首先调用函数f1对数组元素赋值(要求实参、形参均为数组名);然后调用函数f2返回其中偶数元素之和(要求实参、形参均为指针变量)。
时间: 2024-03-02 14:48:35 浏览: 85
定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程。
好的,以下是实现代码:
```c
#include <stdio.h>
void f1(int arr[]) { // 对数组元素赋值
printf("请输入数组的元素:\n");
for(int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
}
int f2(int *p) { // 返回偶数元素之和
int sum = 0;
for(int i = 0; i < 10; i++) {
if(*(p+i) % 2 == 0) { // 判断是否为偶数
sum += *(p+i); // 累加偶数元素
}
}
return sum;
}
int main() {
int arr[10];
f1(arr); // 调用函数f1对数组元素赋值
int sum = f2(arr); // 调用函数f2返回偶数元素之和
printf("数组中偶数元素之和为:%d\n", sum);
return 0;
}
```
解释一下代码:
1. 在 `main` 函数中定义了一个长度为 10 的整型数组 `arr`;
2. `f1` 函数中,通过数组名传递数组实参,从键盘上依次输入 10 个整数,并将它们存储到数组 `arr` 中;
3. `f2` 函数中,通过指针变量传递数组实参,遍历数组 `arr`,累加其中偶数元素的值,并返回偶数元素之和;
4. 在 `main` 函数中,先调用 `f1` 函数对数组 `arr` 进行赋值,然后调用 `f2` 函数返回偶数元素之和,并将其赋值给变量 `sum`,最后输出 `sum` 的值。
希望这个代码可以帮助你理解如何使用数组名和指针变量作为函数参数。如果还有其他问题,请继续提问!
阅读全文