zoukankan      html  css  js  c++  java
  • HDU 1088(文本处理 **)

    题意是对一段文本进行处理,如果读到 <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("
    ");
    12             cnt = 0;
    13         }
    14         else if(!strcmp(s,"<hr>"))
    15         {
    16             if(cnt) printf("
    --------------------------------------------------------------------------------
    ");
    17             else printf("--------------------------------------------------------------------------------
    ");
    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("
    %s",s);
    32             }
    33             else //该行已有字符,但字符数不会超过80
    34             {
    35                 cnt += len+1;
    36                 printf(" %s",s);
    37             }
    38         }
    39     }
    40     printf("
    ");
    41     return 0;
    42 }
    View Code
  • 相关阅读:
    博客作业6
    博客作业5
    3137102127 林志坤(实验3)
    3137102127 林志坤(实验2)
    个人简介
    Bookstore项目测试缺陷报告
    自我介绍
    第6次博客园作业
    软件测试第6次作业
    《构建之法》心得体会
  • 原文地址:https://www.cnblogs.com/Taskr212/p/9597790.html
Copyright © 2011-2022 走看看