HDU 1088 Write a simple HTML Browser

字符串处理

  . If you read a word in the input and the resulting line does not get longer than 80 chars, print it, else print it on a new line. 
  . If you read a <br> in the input, start a new line. 
  . If you read a <hr> in the input, start a new line unless you already are at the beginning of a line, display 80 characters of '-' and start a new line (again).

注意输入的方式不能整行输入,不然很不好做,要一个一个单词的输入

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 int main()
 6 {
 7     freopen("C:\CODE\in.txt", "r", stdin);
 8     //freopen("C:\CODE\out.txt","w",stdout);
 9     int n=0;
10     char s[1000];
11     while(~scanf("%s",s)){
12         if(!strcmp(s,"<br>")){
13             puts("");
14             n=0;
15         }
16         else if(!strcmp(s,"<hr>")){
17             if(n)
18                 puts("
--------------------------------------------------------------------------------");
19             else
20                 puts("--------------------------------------------------------------------------------");
21             n=0;
22         }
23         else{
24             int len=strlen(s);
25             if(!n){
26                 n=len;
27                 printf("%s",s);
28             }
29             else if(n+len+1>80){
30                 n=len;
31                 printf("
%s",s);
32             }
33             else{
34                 n+=len+1;
35                 printf(" %s",s);
36             }
37 
38         }
39     }
40     puts("");
41     fclose(stdin);
42     return 0;
43 }