作业2 - 个人项目 数组求和
开发工具:visual c++
第一版本程序Prog1:
+ 给定一个数组,实现数组元素求和;,具体要求:实现对一维数组(a[100])的所有元素相加运算。
+ 数据准备:a)数组长度:100;b)数组数据来源:实验数据A列:1~100.
分析:第一个程序的实现较为简单,创建一个大小为100的静态数组即可。但是100个数据倘若一个一个键入则是一个不小的工程,所以我在想能不能直接从文件中调用。通过百度和查阅C++书本,我把老师提供的EXCEL文档中的A列数据复制到记事本中另存,通过直接调用.txt中的数据,简化了程序。
prog1源程序:
运行结果:
运行结果,前100个实数求和结果正确。
第二版本程序Prog2:
+ 改写成一个函数(函数名称为ArraySum),能实现任意长度数组所有元素求和;
+ 数据准备:a)数组长度:任意; b)数组数据来源:实验数据A列.
分析:此程序不限定数组长度,所以得设置一个动态数组,并且申请动态内存,根据用户确定的实数个数进行数组求和。
源程序:
运行结果:
(1)取n=100
(2)取n=10
(3)取n=50
分别测试了3组数据,结果均正确。
第三版本程序Prog3:
+ 将Prog2改写成能从文件中读取数据,实现任意长度数组,指定范围内元素相加。
+ 数据准备:a)数组长度:任意; b)数组数据来源:从文件中读取.
分析:在prog2的基础上添加一个数据范围的限制,用户设定指定范围的最小值和最大值即可。
源程序:
运行结果:
取n=100
(1)范围:-10000~10000
(2)范围:0~1000
n的取值相同时,指定范围不同,求和结果不同。
小结:
一个程序可以有多个衍生,我们平时在编写程序的过程中也应该多角度考虑问题,让一个简单的程序衍生出一系列程序。
我的Github链接:https://github.com/yangyangji