这几天一直在忙着做数组求和的相关问题,做得腰酸背痛,不过好在磨出来了。我采用的是C++,以下是题目要求:
1.Prog1: + 给定一个数组,实现数组元素求和;,具体要求:实现对一维数组(a[100])的所有元素相加运算。 + 数据准备:a)数组长度:100;b)数组数据来源:实验数据A列:1~100,CSV 格式则填充 前100个数据.
2.Prog2: + 改写成一个函数(函数名称为ArraySum),能实现任意长度数组所有元素求和; + 数据准备:a)数组长度:任意; b)数组数据来源:实验数据A列.
3.Prog3: + 将Prog2改写成能从文件中读取数据,实现任意长度数组,指定范围内元素相加。 + 数据准备:a)数组长度:任意; b)数组数据来源:从文件中读取
*Pro1:
一开始只想到了这种最笨的方法,直接将数据输入数组,输了这么多逗号也是心累,但是没办法,我只会这种简单粗暴的方式,好在只有100个数据。只需要一个main函数,然后使用for循环就可以了。配上代码和结果,如图:
Pro2:
开始还是采用上面的办法,定义一个名叫ArraySum的函数,然后基本上和第一个一样,只需在main里面加入一个函数调用就可以了,再控制一下范围,就可以了,再控制一下范围,然而缺陷仍是需要手动输入。后来在网上看到别的方法,采用文件流的方式,读取文件,起初,一直打不开文件,然后想起以前C++老师貌似讲过要将文件复制到当前创建的文件名下,试了试,果然有用。在网上也看到了可以将文件的路径以形如“C:\\1.txt 的方式输入文件名。下面是代码和图:
*Pro3:
第三个程序就是在第二个程序加上一个范围,只要多引用两个变量就可以了,注意数组保存数据是从0开始的(我使用的这种方法),其实我写完这个程序后一直想给出一个语句判断用户输入是否超出范围,但一直不好实现,不过既然给出了数据长度,用户应该不会超出的。为了证明程序的正确性,我一般都会自己算一算,数据大的就用Excel自带的函数算一下。
我的GitHub账号:https://github.com/youwanqing
经过这三个程序的洗礼,我只想说好累,但也学到了不少知识,比如函数的调用,声明,文件流的使用和数组等等,有很多知识都忘了,还是现场翻书现学的,另外在网络上也看了一些有关的内容帮助自己。希望自己能够多努力吧,不说了,休息去了。