HDU 1088(文本处理 **)
发布时间:2020-12-14 03:46:51 所属栏目:大数据 来源:网络整理
导读:题意是对一段文本进行处理,如果读到 br,则换行;如果读到 hr,若当前行无字符,则输出 80 个 ’-‘ 并换行,否则在下一行输出 80 个 ’-‘ 再换行;如果一行的字符数(含空格)已达到 80,则换行。 记录一下当前行的字符数模拟即可,代码如下: 1 #include
题意是对一段文本进行处理,如果读到 <br>,则换行;如果读到 <hr>,若当前行无字符,则输出 80 个 ’-‘ 并换行,否则在下一行输出 80 个 ’-‘ 再换行;如果一行的字符数(含空格)已达到 80,则换行。 记录一下当前行的字符数模拟即可,代码如下: 1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 char s[10000]; 6 int len,cnt = 0; 7 while(~scanf("%s",s)) 8 { 9 if(!strcmp(s,"<br>")) 10 { 11 printf("n"); 12 cnt = 0; 13 } 14 else if(!strcmp(s,"<hr>")) 15 { 16 if(cnt) printf("n--------------------------------------------------------------------------------n"); 17 else printf("--------------------------------------------------------------------------------n"); 18 cnt = 0; 19 } 20 else 21 { 22 len = strlen(s); 23 if(!cnt) //该行尚无字符 24 { 25 cnt = len; 26 printf("%s",s); 27 } 28 else if(cnt+len+1 > 80) //该行字符数会超过80 29 { 30 cnt = len; 31 printf("n%s",s); 32 } 33 else //该行已有字符,但字符数不会超过80 34 { 35 cnt += len+1; 36 printf(" %s",s); 37 } 38 } 39 } 40 printf("n"); 41 return 0; 42 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |