nyist 637 我和你

                    我和你

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描述
将一句话中的所有的“我”换成“你”,“你”换成“我”。
输入
多组测试数据
每组给出一句中文,每段少于100个汉字(注意:每个中文在windows下占两个字节,ubuntu默认使用UTF-8编码,每个中文占三个字节。本OJ判题环境为ubuntu)
以单独一个0结束
输出
对于每组测试数据,输出替换后的句子。
样例输入
我爱你
我是中国人
1234我
0
样例输出
你爱我
你是中国人
1234你

汉子的每一个编码都是一个负数
将汉子的每一个编码都有保存在一个中间变量中
当他是我或是你时变换后保存在我的保存变量中
其他的将原型保存

#include <cstdio>
#include <cstring>

using namespace std;

int main()
{
    char ch[500];
    while(1)
    {
        scanf("%s",ch);
        if(strcmp(ch,"0") == 0)
          break;
          int i=0;
          char ch2[4];
          int j = 0;
          int k =0;
          char ch3[500];
          ch3[0] = '\0';
          for(i = 0; i < strlen(ch); i++)
                {
                    if(ch[i] >= 0)
                    {
                           ch3[k++] = ch[i];
                            ch3[k] = '\0';
                    }
                    else
                    {

                        ch2[j++] = ch[i];
                        if(j==3)
                            {
                            ch2[j] = '\0';
                        if(strcmp(ch2,"")==0)
                            strcat(ch3,"");

                         else if(strcmp(ch2,"")==0)
                                strcat(ch3,"");
                        else
                            strcat(ch3,ch2);
                           j = 0;
                           ch2[j] = '\0';
                           k+=3;
                    }
                }
                }
            ch3[k] = '\0';
               printf("%s\n",ch3);
    }
    return 0;
}


原文地址:https://www.cnblogs.com/yyroom/p/2953433.html