奇偶校验
描述
一个字符串中1的个数为奇数为奇校验,1的个数为偶数的为偶校验。0的个数不影响校验结果,全0的串为偶校验。
输入
输入一行或多行字符串,最后一行为“#”,每个字符串有1–31位,最后一位不出现,用校验位‘e’或‘o’替代。
输出
输出输入的每一行,并把最后一个校验位替换成正确的0或1.
输入样例 1
011o 110010e 1100e 01110100o 110100101o #
输出样例 1
0111 1100101 11000 011101001 1101001010
#include <stdio.h>
#include<string.h>
int main()
{
char c[32];
while(gets(c)&&c[0]!='#')
{
int n=strlen(c);
int count=0;
for(int i=0;i<n-1;i++)
if(c[i]=='1') count++;
count%=2;
if(c[n-1]=='e'&&count==1||c[n-1]=='o'&&count==0)
c[n-1]='1';
else c[n-1]='0';
printf("%s\n",c);
}
return 0;
}