我们把只有0和1组成的字符串叫做比特字符串。如果比特字符串中1的个数为奇数,则称这个比特字符串是奇性的。如果比特字符串中1的个数为偶数,则称这个比特字符串是偶性的。
注意:
(1)0是偶数,所以不包含1的比特字符串是偶性的。
(2)0的个数不影响比特字符串的奇偶性。
输入
输入包含多组测试数据。每组数据由1~31个0、1组成,最后跟一个小写字母e或o,e表示此比特字符串应为偶性,o表示此比特字符串应为奇性。
当输入#时,表示输入结束。
输出
每组输入对应一个输出,你应该将最后的字母替换成0或1,使得此比特字符串符合输入时确定的奇偶性。
样例输入 Copy
101e
010010o
1e
000e
110100101o

样例输出 Copy
1010
0100101
11
0000
1101001010

代码示例(自己写的,只能过平台,不完美)

//#include<iostream>
//#include<string>
//#include<string.h>
//using namespace std;
//#include <cstring>
//
//int main(){
//    string str;
//    while(getline(cin,str)){
//        int k = 0;
//        if(str == "#"){
//            break;
//        }
//        for(int i = 0; i < str.size(); i++){
//            if(str[i] == '1'){
//                k++;
//            }
//        }
//        if(k % 2 == 0){
//            if(str[str.size() - 1] == 'e'){// 
////                str.pop_back();//删除str字符串最后一个字符
////                str.push_back('0');//将字符‘0 ’拼接到str末尾
//                str[str.size() - 1] = '0';
//            }else{
////                str.pop_back();//删除str字符串最后一个字符
////                str.push_back('1');//将字符‘0 ’拼接到str末尾
//                str[str.size() - 1] = '1';
//            }
//        }else {
//            if(str[str.size() - 1] == 'o'){// 
////                str.pop_back();//删除str字符串最后一个字符
////                str.push_back('0');//将字符‘0 ’拼接到str末尾
//                str[str.size() - 1] = '0';
//            }else{
////                str.pop_back();//删除str字符串最后一个字符
////                str.push_back('1');//将字符‘0 ’拼接到str末尾
//                str[str.size() - 1] = '1';
//            }            
//        }
//        cout << str << endl;
//    }
//    return 0;
//}


沐小轲
9 声望0 粉丝

C++初学者