在win7下测试老是不对,后来注意到,win下汉字占2字节,ubuntu是3字节。
#include <stdio.h> #include <string.h> char str[300], sam[] = "你我"; int main(){ int len, i; while(scanf("%s", str)){ len = strlen(str); if(len == 1 && str[0] == '0') break; for(i = 0; i != len; ++i) if(str[i] == sam[0] && str[i+ 1] == sam[1] && str[i + 2] == sam[2]) str[i] = sam[3], str[i + 1] = sam[4], str[i + 2] = sam[5], i += 2; else if(str[i] == sam[3] && str[i+ 1] == sam[4] && str[i + 2] == sam[5]) str[i] = sam[0], str[i + 1] = sam[1], str[i + 2] = sam[2], i += 2; puts(str); } return 0; }