HDU 1736 美观化文字 water~~~

来源:互联网 发布:谭浩强c语言入门目录 编辑:程序博客网 时间:2024/06/04 22:11

题目地址:  http://acm.hdu.edu.cn/showproblem.php?pid=1736


一道很水的模拟题目。


代码如下:(有注释)

#include<iostream>#include<vector>#include<list>#include<deque>#include<queue>#include<stack>#include<map>#include<set>#include<algorithm>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<cmath>using namespace std;typedef long long LL;const int N=201000;char s[N];int main(){    int i,j,T,t,n,m,a,b,sum;    while(gets(s)!=NULL)    {        int len=strlen(s);        sum=0;        for(i=0;i<len;i++)        {            string temp="";            temp=temp+s[i]+s[i+1];//这个地方不知道为什么不能写成temp+=s[i]+s[i+1];            if(temp=="“"||temp=="”")//这个地方一定要注意,中文的引号不是一个字符            {                sum++;            }            //其他地方就没什么注意的呢,直接模拟            if(s[i]=='"')            {                if(sum%2==0)                    printf("“");                else                    printf("”");                sum++;            }            else if(s[i]==',')                printf(",");            else if(s[i]=='.')                printf("。");            else if(s[i]=='!')                printf("!");            else if(s[i]=='?')                printf("?");            else if(s[i]=='<'&&s[i+1]=='<')            {                i++;                printf("《");            }            else if(s[i]=='>'&&s[i+1]=='>')            {                i++;                printf("》");            }            else                printf("%c",s[i]);        }        printf("\n");    }    return 0;}


原创粉丝点击