prog1
数组求和并没有难度,重点就是如何在程序中读取文件里的数据。我上网百度了才了解了文件流fstream函数的用法。自己尝试着读取csv文件数据时答案总是错误的,参观了别的同学的博客才发现他们是把A列数据单独导出保存为txt再读取的,照做了之后果然成功了,虽然不是全部靠自己的努力做出来的,但是依然很高兴。参观同学的博客时也发现了一个小问题,就是有些人在读取数据之后没有调用close函数将文件关闭,这样会造成内存的占用,虽然只是一点点的内存。
#include<iostream>
#include<fstream>
using namespace std;
int main(void)
{
int a[100];
int i=0;
int sum=0;
ifstream fin("d:\shuju.txt");
if(!fin)
{cout<<"不能打开文件n";}
for(i=0;fin>>a[i],i<100;i++)
{ sum+= a[i];}
fin.close();
cout<<sum<<endl;
return 0;
}
prog2
这个程序和第一个没什么区别,就是多了函数的定义和调用,还好我的c++书没有扔掉,又复习了一遍函数的内容。
#include<iostream>
#include<fstream>
using namespace std;
ArraySum(int i)
{
int *a=new int[i];
int sum=0;
int n=0;
ifstream fin("d:\shuju2.txt");
if(!fin)
{cout<<"不能打开文件n";}
for(n=0;fin>>a[n],n<i;n++)
{ sum+= a[n];}
fin.close();
return sum;
}
int main(void)
{int i;
cout<<"输入数组长度"<<endl;
cin>>i;
cout<<"长度为"<<i<<"的数组和为"<<ArraySum(i)<<endl;
return 0;
}
prog3
同样,没有大的区别,只是多了个范围限制条件和数组的动态内存申请。
#include<iostream>
#include<fstream>
using namespace std;
ArraySum(int bottom,int top,int i )
{
int sum=0;
int n;
int *a=new int[n];
ifstream fin("d:\shuju2.txt");
if(!fin)
{cout<<"不能打开文件n";}
for(n=0;fin>>a[n],n<i;n++)
{if(bottom<=a[n]&&top>=a[n])
sum+=a[n];
}
fin.close();
return sum;
}
int main()
{
int top,bottom;
cout<<"输入top:";
cin>>top;
cout<<"输入bottom:";
cin>>bottom;
int i;
cout<<"输入数组长度为:";
cin>>i;
cout<<"数组和为"<<ArraySum(bottom,top,i)<<endl;
}
我觉得这次作业让我对于c++一些基础知识又加深了印象,主要就是学会了文件流的一些简单用法。实践是检验我们掌握了多少知识的唯一真理。
https://github.com/liuxiangLX
原文链接: https://www.cnblogs.com/LXliu/p/5255119.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/229907
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!