欢迎来到天天文库
浏览记录
ID:59561979
大小:47.00 KB
页数:17页
时间:2020-11-11
《全国软件大赛决赛题目.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、题1,高分值题(41分)字符串分割:已知某文件中存在一些字符串及其对应的权值,现输入一个较长的字符串,找出各种匹配种类,并计算相应的权值和。例如:(文件的内容)a5aa12bc9bcd21cd15输入字符串:aaabc相应的输出为:aaabc24aaabc26aaabc26///////////////////////////////////////////////////////////#include#include#include#include#includeusingnamespacest
2、d;intstringToCharVector(stringstr,vector&v);voidsearchAll(conststring&souStr,vector&comStr,vector&resultStr,string::iteratorsou_sIt,vector::iterator&result_sIt);intmain(){stringsouStr="aaabc";stringcomString[]={"a","aa","bc"};vectorcomStr(comString+0,comStri
3、ng+3);vectorresultStr(1,"begin");string::iteratorsou_sIt=souStr.begin();vector::iteratorresult_sIt=resultStr.begin();searchAll(souStr,comStr,resultStr,sou_sIt,result_sIt);return0;}/*******************************功能函数部分********************************/intstringToCharVector(stringst
4、r,vector&v){string::iteratorsIt=str.begin();v.clear();while(sIt!=str.end()){v.push_back(*(sIt++));}return0;}voidsearchAll(conststring&souStr,vector&comStr,vector&resultStr,string::iteratorsou_sIt,vector::iterator&result_sIt){if(sou_sIt==souStr.end()){intsumPower=0;f
5、or(vector::iteratorresult_begin_sIt=resultStr.begin();result_begin_sIt6、umPower+=21;elseif(*result_begin_sIt=="cd")sumPower+=15;}cout<::iteratorcom_begin_sIt=comStr.begin();com_begin_sItsouSt7、ringLastLenth)break;intbitSouString=souStr.size()-souStringLastLenth;stringpartSouString=souStr.substr(bitSouString,comStringLenth);if(partSouString==*com_begin_sIt){intk;if(result_sIt==resultStr.end()){result_sIt=resu
6、umPower+=21;elseif(*result_begin_sIt=="cd")sumPower+=15;}cout<::iteratorcom_begin_sIt=comStr.begin();com_begin_sItsouSt
7、ringLastLenth)break;intbitSouString=souStr.size()-souStringLastLenth;stringpartSouString=souStr.substr(bitSouString,comStringLenth);if(partSouString==*com_begin_sIt){intk;if(result_sIt==resultStr.end()){result_sIt=resu
此文档下载收益归作者所有