您的位置:首页 > 其它

hdu 1736 水

2016-05-12 08:53 218 查看
题目链接

这题有点小坑,看网上说出现 “ " 要输出 “ ” 。

中文的引号是两个字节第一个是负的左引号第二个是-80,右引号第二个是-79

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<queue>
#include<map>
#include<set>
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
using namespace std;
char ch[1111111];
int main() {
while(gets(ch)) {
int f=0;
for(int i=0; ch[i]; i++) {
char c=ch[i];
if(c==',')printf(",");
else if(c=='.')printf("。");
else if(c=='!')printf("!");
else if(c=='<'&&ch[i+1]=='<'){
printf("《");
i++;
}
else if(c=='>'&&ch[i+1]=='>'){
printf("》");
i++;
}
else if(c=='?')printf("?");
else if(c=='"') {
if(f==0){
printf("“");
f=1;
}
else {
f=0;
printf("”");
}
}
else printf("%c",c);
if(c<0&&ch[i+1]==-80){
f=1;
}
if(c<0&&ch[i+1]==-79){
f=0;
}
}
cout<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: