C++primer plus第十七章编程练习

本文介绍了几种使用C++进行文件操作和字符串计数的方法,包括从控制台读取带终止符的字符串并计数字符数量、创建文件并写入信息、合并两个文本文件的内容到新文件中,以及从文件读取数据并使用链表进行排序、合并及去重。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.
#include<iostream>
using namespace std;
int main()
{
	cout<<"enter the string:";
	int count=0;
	char ch;
	while(cin.peek()!='$'&&cin.get(ch))//先将peek函数放在前面,在进行读取字符

		count++;
	cout<<count<<endl;
	return 0;
}

2.

#include<fstream>
#include<iostream>
using namespace std;
int main()
{
	char fname[50];
	char inf[100];
	ofstream fout;
	cout<<"enter the name of file:";
	cin>>fname;
	fout.open(fname);
	cout<<"enter the information:";
	cin.get();  //cin将enter留在了输入流中,因此需要将enter去除
	cin.get(inf,100);
	fout<<inf;
	fout.close();
	return 0;
}
4.

#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
	ifstream fin1("zhu.txt");
	ifstream fin2("yue.txt");
	ofstream fout("zhuyue.txt");
	char ch1[100],ch2[100];

	while(fin1.peek()!='\n'&&fin1.getline(ch1,100,'\n'))
	{
		fout<<ch1;
	fout<<" ";
	if(fin2.peek()!='\n'&&fin2.getline(ch2,100,'\n'))
		fout<<ch2;
	fout<<endl;
	}
	while(fin2.peek()!='\n'&&fin2.getline(ch2,100,'\n'))
		fout<<ch2<<endl;

	return 0;
}

5.

#include<iostream>
#include<fstream>
#include<list>
#include<string>
using namespace std;
int main()
{
	list<string> mat;
	list<string> pat;
	char str[20];
	ifstream fin;
	ofstream fout("matpat.txt");
	fin.open("mat.txt");
	while(fin.getline(str,20,'\n'))
		mat.push_back(str);
	mat.sort();
	for(list<string>::iterator it=mat.begin();it!=mat.end();it++)
		cout<<(*it)<<endl;
	fin.close();
	fin.clear();//close只是将文件与流之间的关系切断,还需要clear,否则再次使用fin时其文件指针指向不对

	fin.open("pat.txt");
		
	while(fin.getline(str,20,'\n'))
		pat.push_back(str);
	pat.sort();
	for(it=pat.begin();it!=pat.end();it++)
		cout<<(*it)<<endl;
	fin.close();
	fin.clear();

	mat.merge(pat);
	mat.unique();
	for(it=mat.begin();it!=mat.end();it++)	
		fout<<*it<<endl;



	return 0;
}



内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值