作业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

原文地址:https://www.cnblogs.com/yangyangji/p/5248512.html