HDU 1088 [Write a simple HTML Browser] 字符串处理

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1088

题目大意:给一段网页源文本,要求转换成可视文本。规则:word挤不下就换行,否则正常输出。遇到<br>换行,<hr>若在新行首不必换行,否则换行,显示分割线再换行。

关键思想:字符串处理

代码如下:

//规则:<br>换行,<hr>若在新行首不必换行,否则换行,显示分割线再换行 
//输入整行有空格的,我们不一定要整行接收。看情况 
#include <iostream>
#include <string>
using namespace std;

int main(){
	string w;
	int cnt=0;//cnt为当前行字符数,包括空格 
	while(cin>>w){
		if(w=="<br>"){
			cout<<endl;
			cnt=0;//换行 
		}
		else if(w=="<hr>"){
			if(cnt!=0)cout<<endl;
			for(int i=0;i<80;i++)cout<<"-";
			cout<<endl;
			cnt=0;
		}
		else if(w.size()+cnt<=80){
			if(cnt==0)cout<<w;
			else cout<<" "<<w;//行末没有空格 
			cnt+=(w.size()+1);//有空格所以要+1 
		}else{
			cout<<endl<<w;
			cnt=(w.size()+1);
		}
	}
	cout<<endl;	
	return 0;
} 

  

    原文作者:哇咔咔咔
    原文地址: https://www.cnblogs.com/G-M-WuJieMatrix/p/6416647.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞