编写一个返回一维整型数组第i到第j个元素的和C语言代码
时间: 2024-09-14 07:07:41 浏览: 37
删除第i个数组元素-数值型数组
在C语言中,你可以定义一个函数来计算一维整型数组从索引`i`到`j`的所有元素之和。以下是一个简单的实现示例:
```c
#include <stdio.h>
// 定义一个函数,接收数组指针,起始和结束索引
int sum_subarray(int* arr, int i, int j) {
int sum = 0; // 初始化求和变量
// 验证索引是否有效
if (i >= 0 && j < sizeof(arr)/sizeof(arr[0])) {
// 计算子数组和
for (int k = i; k <= j; k++) {
sum += arr[k];
}
} else {
printf("Invalid indices provided.\n"); // 提供错误消息
return -1; // 如果索引无效,返回错误标志
}
return sum; // 返回计算得到的和
}
int main() {
int arr[] = {1, 2, 3, 4, 5}; // 示例数组
int n = sizeof(arr) / sizeof(arr[0]); // 获取数组长度
int start_index = 1;
int end_index = 3;
int subarray_sum = sum_subarray(arr, start_index, end_index);
if (subarray_sum != -1) {
printf("The sum of elements from index %d to %d is: %d\n", start_index, end_index, subarray_sum);
}
return 0;
}
```
这个函数首先检查索引的有效性,然后遍历指定范围内的数组元素来计算总和。如果索引不在范围内,它会给出错误提示并返回一个错误值 `-1`。
阅读全文