给定程序 c10-2-6.c 的功能是:求一维数组 a 中值为偶数的元素之和。程序的运行结果 如图 10-9 所示,请改正程序中的错误,并运行出正确的结果。 图 10-9 程序 c10-2-6.c 的运行结果示例 /* c10-2-6.c */ #include <stdio.h> /************found************/ void sum ( int arr[ ], int n ) { int i,s; s = 0; for ( i=0; i<n; i++) /************found************/ if (arr[i] % 2 == 0) s = s + i; return (s); } int main() { int a[10]={10,4,2,7,3,12,5,34,5,9},s; /************found************/ s=sum( a[10] ); printf("The result is: %d\n", s); return 0; }
时间: 2023-06-29 22:18:31 浏览: 225
程序中的错误有:
1. 函数 sum 的返回值类型应该是 int,而不是 void。
2. 函数 sum 中求和的代码有误,应该累加数组元素的值,而不是下标。
改正后的程序如下:
```
#include <stdio.h>
int sum(int arr[], int n) {
int i, s;
s = 0;
for (i = 0; i < n; i++) {
if (arr[i] % 2 == 0) s = s + arr[i];
}
return s;
}
int main() {
int a[10] = {10, 4, 2, 7, 3, 12, 5, 34, 5, 9}, s;
s = sum(a, 10);
printf("The result is: %d\n", s);
return 0;
}
```
输出结果应该是:The result is: 64
相关问题
用c语言求一维数组a中值为偶数的元素之和
当然,我可以帮你解决这个问题。以下是使用 C 语言求一维数组中偶数元素之和的示例代码:
```c
#include <stdio.h>
int main() {
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int size = sizeof(a) / sizeof(a[0]);
int sum = 0;
for (int i = 0; i < size; i++) {
if (a[i] % 2 == 0) {
sum += a[i];
}
}
printf("偶数元素之和为: %d\n", sum);
return 0;
}
```
在这个示例代码中,我们首先定义了一个包含整数元素的一维数组 `a`。然后,通过计算数组的大小,我们确定了循环的范围。接下来,我们使用循环遍历数组中的每个元素,并通过取模运算符 `%` 判断当前元素是否为偶数。如果是偶数,则将其加到变量 `sum` 中。最后,我们打印出偶数元素之和。
请注意,这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。希望能对你有所帮助!如果你有任何其他问题,请随时提问。
求一维数组a中值为偶数的元素之和
好的,可以使用以下代码来计算一维数组a中值为偶数的元素之和:
```python
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sum_of_even_numbers = sum([x for x in a if x % 2 == 0])
print(sum_of_even_numbers)
```
这段代码中,我们先定义了一个一维数组a,然后使用列表推导式筛选出a中值为偶数的元素,并将这些元素的和计算出来。最终的结果会输出到屏幕上。
阅读全文