描述:
输入一行字符。
将其中的所有有效转义字符转换为对应字符,并输出转换后的字符串。有效转义字符的定义及转义规则:1、本题的转义包括且仅包括 “\”(反斜杠)引起的转义。2、本题的转义共分为两种:第一种为 反斜杠与数字(小于128的非负整数)的组合,如 \117 为字符 'u' ;第二种为 反斜杠与非数字字符的组合,表示忽略其原有一切意义,并直接输出该非数字字符。3、 对于第一种转义,反斜杠应尽可能匹配更大的值,如 \122 应该匹配 ASCII值为 122 的字符 , 而 \1308 只能被理解为 字符'\13' 和 "08"的组合。4、对于 单/双引号 内的字符(串),不进行转义处理。输入:
一行字符串,以回车结尾。
输出:
对应的一系列字符。
输入样例1:
123456789\10abc
输出样例1:
123456789
abc输入样例2:
"There is no \'\\\' in this string",but there id one \'\\\'.
输出样例2:
"There is no \'\\\' in this string ",but there is one'\'.
思路:
就是读懂题意后模拟。
1 #include2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 int main() 9 {10 11 int tem=-1,f=0;12 int dan=0,shuang=0;13 char ss=getchar();14 while(ss!='\n'&&ss!=-1)15 {16 if(ss<='9'&&ss>='0'&&f&&(!(shuang&1))&&(!(dan&1)))17 {18 if(tem==-1)tem=0;19 tem=tem*10+ss-'0';20 if(tem>=128)21 {22 tem=tem/10;23 char ch=tem;24 cout< =0)33 {34 char ch=tem;35 cout<