PTA基础编程题目集 6-3简单求和(C语言实现)
题目描述摘要本文记录了 PTA 基础编程题「6-3 简单求和」的解题过程。题目要求实现Sum函数对给定的N个整数进行线性累加求和时间复杂度 O(N)空间复杂度 O(1)。文章涵盖题目描述、接口定义、裁判测试样例、函数实现及完整代码。本题要求实现一个函数求给定的N个整数的和。函数接口定义int Sum ( int List[], int N );其中给定整数存放在数组List[]中正整数N是数组元素个数。该函数须返回N个List[]元素的和。裁判测试程序样例#include stdio.h #define MAXN 10 int Sum ( int List[], int N ); int main () { int List[MAXN], N, i; scanf(%d, N); for ( i0; iN; i ) scanf(%d, List[i]); printf(%d\n, Sum(List, N)); return 0; } /* 你的代码将被嵌在这里 */输入样例3 12 34 -5输出样例41函数部分实现/* * 函数Sum * 功能遍历数组求所有元素之和 * 参数 * List[] — 整数数组输入 * N — 数组元素个数 * 返回值所有元素的总和 */intSum(intList[],intN){inti;inttemp0;/* 累加器初始化为 0 *//* 遍历数组逐个累加 */for(i0;iN;i)temptempList[i];returntemp;/* 返回累加结果 */}完整代码实现/* * 6-3 简单求和 * * 题目描述 * 实现函数 Sum(List[], N)返回 N 个整数的累加和。 * * 实现原理 * 线性累加。用 temp 作为累加器for 循环遍历数组 * 每次把当前元素累加到 temp 上最后返回 temp。 * * 参数说明 * List[] — 待求和的整数数组 * N — 数组中元素的个数 * * 时间复杂度O(N) — 需遍历 N 个元素各一次 * 空间复杂度O(1) — 只使用了常数个辅助变量 */#includestdio.h#defineMAXN10/* 函数原型声明 */intSum(intList[],intN);intmain(){intList[MAXN],N,i;/* 读入数组长度 N */scanf(%d,N);/* 依次读入 N 个整数到数组 List 中 */for(i0;iN;i)scanf(%d,List[i]);/* 调用 Sum 函数求和并输出结果 */printf(%d\n,Sum(List,N));return0;}/* * 函数Sum * 功能遍历数组求所有元素之和 * 参数 * List[] — 整数数组输入 * N — 数组元素个数 * 返回值所有元素的总和 */intSum(intList[],intN){inti;inttemp0;/* 累加器初始化为 0 *//* 遍历数组逐个累加 */for(i0;iN;i)temptempList[i];returntemp;/* 返回累加结果 */}