1047: 字符串的奇偶性

 

题目描述

我们把只有0和1组成的字符串叫做比特字符串。如果比特字符串中1的个数为奇数,则称这个比特字符串是奇性的。如果比特字符串中1的个数为偶数,则称这个比特字符串是偶性的。
注意:
(1)0是偶数,所以不包含1的比特字符串是偶性的。
(2)0的个数不影响比特字符串的奇偶性。

输入

输入包含多组测试数据。每组数据由1~31个0、1组成,最后跟一个小写字母e或o,e表示此比特字符串应为偶性,o表示此比特字符串应为奇性。
当输入#时,表示输入结束。

输出

每组输入对应一个输出,你应该将最后的字母替换成0或1,使得此比特字符串符合输入时确定的奇偶性。

样例输入

101e
010010o
1e
000e
110100101o
#

样例输出

1010
0100101
11
0000
1101001010

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5     char str[32];
 6     while(scanf("%s",str)!=EOF){
 7         if(str[0]=='#') return 1;
 8         int len=strlen(str),k=0;
 9         for(int i=0;i<len;i++){
10             if(str[i]=='1'){
11                 k++;
12             }
13         }
14         if(str[len-1]=='o'){
15             if(k%2==0){
16                 str[len-1]='1';
17             }else str[len-1]='0';
18         }else{
19             if(k%2!=0){
20                 str[len-1]='1';
21             }else str[len-1]='0';
22         }
23         printf("%s\n",str);
24     }
25     return 0;
26 }

 

 
posted on 2019-01-27 22:14  Aldrich_2020  阅读(595)  评论(0编辑  收藏  举报