作业2 - 个人项目 数组求和

时间:2022-06-11 11:40:05

开发工具:visual c++

第一版本程序Prog1:

+ 给定一个数组,实现数组元素求和;,具体要求:实现对一维数组(a[100])的所有元素相加运算。
+ 数据准备:a)数组长度:100;b)数组数据来源:实验数据A列:1~100.

 

分析:第一个程序的实现较为简单,创建一个大小为100的静态数组即可。但是100个数据倘若一个一个键入则是一个不小的工程,所以我在想能不能直接从文件中调用。通过百度和查阅C++书本,我把老师提供的EXCEL文档中的A列数据复制到记事本中另存,通过直接调用.txt中的数据,简化了程序。

 

 

prog1源程序:

作业2 - 个人项目 数组求和

 

 

运行结果:

作业2 - 个人项目 数组求和

 

 

运行结果,前100个实数求和结果正确。

 

 

第二版本程序Prog2:

+ 改写成一个函数(函数名称为ArraySum),能实现任意长度数组所有元素求和;
+ 数据准备:a)数组长度:任意; b)数组数据来源:实验数据A列.

 

分析:此程序不限定数组长度,所以得设置一个动态数组,并且申请动态内存,根据用户确定的实数个数进行数组求和。

 

 

源程序:

 

作业2 - 个人项目 数组求和

 

 

 

运行结果:

(1)取n=100

作业2 - 个人项目 数组求和

 

 

 

(2)取n=10

作业2 - 个人项目 数组求和

 

 

(3)取n=50

作业2 - 个人项目 数组求和

分别测试了3组数据,结果均正确。

 

 

 

第三版本程序Prog3:

+ 将Prog2改写成能从文件中读取数据,实现任意长度数组,指定范围内元素相加。

+ 数据准备:a)数组长度:任意; b)数组数据来源:从文件中读取.

 

分析:在prog2的基础上添加一个数据范围的限制,用户设定指定范围的最小值和最大值即可。

 

 

源程序:

作业2 - 个人项目 数组求和

 

 

 

运行结果:

取n=100

(1)范围:-10000~10000

作业2 - 个人项目 数组求和           作业2 - 个人项目 数组求和

 

 

(2)范围:0~1000

作业2 - 个人项目 数组求和     作业2 - 个人项目 数组求和

 

n的取值相同时,指定范围不同,求和结果不同。

 

 

小结:

一个程序可以有多个衍生,我们平时在编写程序的过程中也应该多角度考虑问题,让一个简单的程序衍生出一系列程序。

我的Github链接:https://github.com/yangyangji