HDU 1736 WA的看过来咯哦
最近几天一直在刷水题。。。。
不过这道题感觉上很水。不过我却因为粗心,吃了多个WA。。。(记录下来警醒自己)
举个大家都可能出现问题的例子
比如说
Kenny喊道:“我来了!"
第一个引号是中文的,而第二个引号是英文的。
那就意味着第二个引号要改为”。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<iostream>
2 #include<string>
3 using namespace std;
4
5
6 bool flag;
7 char article[100000];
8 int main(void)
9 {
10 while (gets(article))
11 {
12 int len = strlen(article);
13 flag = true;
14 for (int i(0); i<len; ++i)
15 {
16 string temp;
17 temp = temp + article[i] + article[i+1];
18 if (temp == "“" || temp == "”")
19 flag = !flag;
20 if (article[i] == '.')
21 printf("。");
22 else
23 if (article[i] == ',')
24 printf(",");
25 else
26 if (article[i] == '?')
27 printf("?");
28 else
29 if (article[i] == '!')
30 printf("!");
31 else
32 if (article[i] == '<' && article[i+1] == '<')
33 {
34 printf("《");
35 ++i;
36 }
37 else
38 if (article[i] == '>' && article[i+1] == '>')
39 {
40 printf("》");
41 ++i;
42 }
43 else
44 if (article[i] == '"')
45 {
46 if (flag)
47 printf("“");
48 else
49 printf("”");
50 flag = !flag;
51 }
52 else
53 printf("%c",article[i]);
54 }
55 printf("\n");
56 }
57 return 0;
58 }