作业 c++编写

1.第一版本程序Prog1
+ 给定一个数组,实现数组元素求和;,具体要求:实现对一维数组(a[100])的所有元素相加运算。
+ 数据准备:a)数组长度:100;b)数组数据来源:实验数据A列:1~100,CSV 格式则填充 前100个数据.

源代码:

#include<iostream>

#include<fstream>

using namespace std;

int main ()
{
  int a[100];//存放数据的数组
  int sum=0;//数据的和
  ifstream f("F:\\1.txt");
  for(int c=0;f>>a[c],c<100;c++)
  sum+=a[c];
  cout<<sum<<endl;

}

这个程序并不难用循环求和就结束了。

运行结果如下图:

        

调试结果正确。

 

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

 

编写的源代码如下:

#include<iostream>
#include<fstream>
using namespace std;

void Arraysum (int n)
{
int *a;
a=new int[n];
int sum=0;
ifstream f("F:\\1.txt");
for(int c=0;f>>a[c],c<n;c++)
sum+=a[c];
cout<<sum;
delete []a;
}
int main (void)
{

int n=0;
cout<<"输入数组长度";
cin>>n;
Arraysum(n);
}

这个题目要求数组长度是任意的,我就重键盘输入数组的长度,因为数组的长度是不确定的所以需要申请内存空间,来完成数组的定义。又要求写一个Arraysum的函数,

而在函数中需要完成对数组的求和,还有对数组的赋值,打开所给的excel文件有6万多行数据,我就将数据复制粘贴到一个新建的文本文档中,从而方便在函数中调用。

最后主函数就很简单了;

 

测试结果如下:

 

测试了3组数据 第一组10个数结果正确,第二组与第一题答案一样正确,第三题我把数组大到20000依然可以输出程序可以输出,测试完毕,程序可以运行。

 

 

3.第三版本程序Prog3
+ 将Prog2改写成能从文件中读取数据,实现任意长度数组,指定范围内元素相加。
+ 数据准备:a)数组长度:任意; b)数组数据来源:从文件中读取.

 

源代码如下:


#include<iostream>
#include<fstream>
using namespace std;

void Arraysum (int n,int e,int d)
{
int *a;
a=new int[n];
int sum=0;
ifstream f("F:\\1.txt");
for(int c=0;f>>a[c],c<n;c++)
if(a[c]>=e&&d>=a[c])
sum+=a[c];
cout<<sum<<endl;
delete []a;
}
int main (void)
{
double e,d;
cout<<"输入指定范围的最小值";
cin>>e;
cout<<"输入指定范围的最大值";
cin>>d;
int n=0;
cout<<"输入数组长度";
cin>>n;

Arraysum(n,e,d);
}

这一题我感觉就是在第二题的基础上加了一个取值范围,比较简单不多说,调试去了。

调试结果:

个人觉的程序并没有什么大问题,调试完毕。

这三个实验中有一个问题想了很久 如何将excel中的数据弄到数组中去,最后只能用文本文档完成对数据的调用。

 

Github的链接,在github的zuoye仓库下的TXT 文档上传了3个题目的代码。

 

 

 

 

 

posted @ 2016-03-04 16:32  韦军  阅读(250)  评论(1编辑  收藏  举报