uva - 272 - TEX Quotes 解题报告
原题链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=208
题目大意:输入若干行文字,其中包含偶数个双引号,将引述一句话时的双引号改为用两个“`”代替,结束引述的双引号用两个“'”代替,即第一个双引号用“``”代替,第二个双引号用“''”代替,第三个双引号用“``”代替,第四个用“''”代替,以此类推。
1 #include<stdio.h> 2 int main(){ 3 char s[1000],a[2000]; 4 int i,k=1,j; \\用k变量表示双引号什么时候用“``”代替, 5 什么时候用“''”代替while(gets(s)!=NULL){ 6 for(i=0,j=0;s[i]!='\0';i++,j++){ 7 8 if(s[i]=='"'&&k%2!=0) 9 { 10 a[j]='`'; 11 a[++j]='`'; 12 k++;} 13 else if(s[i]=='"'&&k%2==0) 14 { 15 a[j]='\''; 16 a[++j]='\''; 17 k++;} 18 else 19 a[j]=s[i]; 20 } 21 a[j]='\0'; 22 puts(a); 23 } 24 return 0; 25 }