c语言定义一个含有15个元素的数组,并编写函数分别完成以下操作: 1)调用c库函数中的随机函数给所有元素赋以0~49的随机数; 2)输出数组元素的值; 3)按顺序对每隔三个数求一个和数,并传回函数。 4)最后输出所有求出的和数值。
时间: 2023-11-27 16:52:07 浏览: 127
以下是实现以上要求的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void init_array(int arr[], int size) {
srand(time(NULL));
for(int i = 0; i < size; i++) {
arr[i] = rand() % 50;
}
}
void print_array(int arr[], int size) {
for(int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int sum_every_three(int arr[], int size, int sum[]) {
int count = 0;
for(int i = 0; i < size; i += 3) {
int temp_sum = 0;
for(int j = i; j < i + 3 && j < size; j++) {
temp_sum += arr[j];
}
sum[count++] = temp_sum;
}
return count;
}
void print_sum(int sum[], int size) {
for(int i = 0; i < size; i++) {
printf("%d ", sum[i]);
}
printf("\n");
}
int main() {
int arr[15];
int sum[5];
init_array(arr, 15);
printf("初始数组:");
print_array(arr, 15);
int count = sum_every_three(arr, 15, sum);
printf("所有求和数值:");
print_sum(sum, count);
return 0;
}
```
首先定义了一个 `init_array` 函数来初始化数组,使用了 `srand` 函数来生成随机数种子,然后用 `rand` 函数来生成 0~49 的随机数。
接着定义了一个 `print_array` 函数来输出数组元素的值。
然后定义了一个 `sum_every_three` 函数来按顺序对每隔三个数求一个和数,并传回函数,使用了两重循环,外层循环每次跳过 3 个元素,内层循环对每个 3 元素求和。
最后定义了一个 `print_sum` 函数来输出所有求出的和数值。
在 `main` 函数中,先初始化数组,然后输出初始数组,然后调用 `sum_every_three` 函数计算所有求和数值,最后输出所有求出的和数值。
阅读全文