关于c++:AV-字符串的奇偶性基础上机试题

41次阅读

共计 1131 个字符,预计需要花费 3 分钟才能阅读完成。

咱们把只有 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;
//}

正文完
 0