c语言编程 编写一个函数,求一个数组中所有元素之和。
时间: 2024-05-01 08:22:53 浏览: 40
下面是一个简单的 C 语言函数,可以计算一个数组中所有元素的和:
```c
#include <stdio.h>
int sum(int arr[], int n) {
int s = 0;
for (int i = 0; i < n; i++) {
s += arr[i];
}
return s;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int s = sum(arr, n);
printf("The sum of the array is %d.\n", s);
return 0;
}
```
在这个函数中,我们使用了一个 for 循环来迭代数组中的每个元素,并将它们累加到一个变量 s 中。最后,我们将 s 返回给调用者。在主函数中,我们定义了一个数组 arr,然后使用 sizeof 运算符计算出数组的大小,再调用 sum 函数来计算数组中所有元素的和。最后,我们使用 printf 函数来输出计算结果。
相关问题
c语言编程 编写一个函数,求一个数组中最大的元素。
可以编写一个函数来实现这个功能。函数的输入参数为数组和数组的长度,输出参数为数组中的最大值。
下面是一个简单的C语言代码实现:
```c
#include <stdio.h>
int findMax(int arr[], int len) {
int max = arr[0];
for (int i = 1; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
int main() {
int arr[] = {3, 5, 1, 8, 4, 2};
int len = sizeof(arr) / sizeof(arr[0]);
int max = findMax(arr, len);
printf("数组中的最大值为:%d\n", max);
return 0;
}
```
在这个例子中,我们定义了一个名为`findMax`的函数,它接受一个整型数组和数组的长度作为输入参数,然后遍历数组中的每个元素来找到最大值,并将其返回。在主函数中,我们定义了一个整型数组并调用了`findMax`函数来获取数组中的最大值。最后,我们使用`printf`函数将最大值打印出来。
这个程序的输出应该为:`数组中的最大值为:8`。
c语言编程 编写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。
可以按照以下步骤编写一个转置函数:
1. 声明一个3x3的整型数组。
2. 编写一个函数,该函数将该数组作为参数,并将其转置。
3. 在该函数中使用嵌套循环来遍历数组并对其进行转置。
4. 在内部循环中,交换当前元素和其对应的行列元素。
下面是一个可能的实现:
```c
#include <stdio.h>
void transpose(int arr[3][3]) {
int temp;
for(int i=0; i<3; i++) {
for(int j=i+1; j<3; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
int main() {
int arr[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}};
printf("Original array:\n");
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
transpose(arr);
printf("Transposed array:\n");
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
输出:
```
Original array:
1 2 3
4 5 6
7 8 9
Transposed array:
1 4 7
2 5 8
3 6 9
```