首页 > 代码库 > C++primer 9.49
C++primer 9.49
题目:如果一个字母延伸到中线之上,如d或f,则称其有上出头部分(ascender)。
如果一个字母延伸到中线之下,如p或g,则称其有下出头部分(descender)。
编写程序,读入一个单词文件,输出最长的既不包含上出头部分,也不包含下出头部分的单词。
#include<iostream>#include<string>#include<vector>#include<fstream>using namespace std;void find_max(vector<string>&vec){ string s1 = "bdfhjlkpq"; vector<string>::iterator it1 = vec.begin(); string s = ""; unsigned max = 0; while (it1 != vec.end()) { if ((*it1).find(s1)==string::npos) if (max < (*it1).size()) { max = (*it1).size(); s = *it1; } it1++; } cout << s << endl;}int main(){ ifstream in("words.txt"); string word; vector<string>vec; while(in >> word) vec.push_back(word); find_max(vec); return 0;}
C++primer 9.49
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。