第二次作业

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

#include <iostream>
#include <fstream> //fstream头文件,ifstream读取
using namespace std;

int main (void)
{
int a[100];
int sum=0;
ifstream in("D:\\数据.txt");
for(int i=0;in>>a[i],i<100;i++)
sum=sum+a[i];
cout<<100个元素的和为:<<sum<<endl;
in.close(); //关闭文件
return 0;
}

 

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

基本就是将第一题照搬过来,将元素个数设置为参数

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

void ArraySum(int n)
{ int *a=new int[n]; //数组元素初始化
   int sum=0;
   ifstream in("D:\\数据.txt");
   for(int i=0;in>>a[i],i<n;i++)
   sum=sum+a[i];
   cout<<sum;
   in.close();
}

int main(void)

{int a;

cout<<"输入任意数组长度:";
cin>>a;
cout<<"元素的和为:";
ArraySum(a); //调用函数
return 0;
}

 

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

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

void ArraySum(int n,int min,int max)
{
int sum=0,i;
int *a=new int[n]; 
ifstream in("D:\\数据.txt");
for( i=0;in>>a[i],i<n;i++)
{
if(a[i]>=min&&a[i]<=max) 
sum=sum+a[i];
}
cout<<"元素的和为:“<<sum<<endl;
in.close();
}

int main(void)
{
int n=0,min,max;

cout<<"指定范围最小值:";

cin>>min;

cout<<"指定范围最大值:";

cin>>max;

cout<<"输入任意数组长度:";

cin>>n;

ArraySum(n,min,max); //调用函数
return 0;
}

 

posted @ 2016-03-08 23:24  朱瑾  阅读(174)  评论(1编辑  收藏  举报