题目1197:奇偶校验
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:3493
解决:1473
-
题目描述:
-
输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。
-
输入:
-
输入包括一个字符串,字符串长度不超过100。
-
输出:
-
可能有多组测试数据,对于每组数据,
对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。
-
样例输入:
-
3 3a
-
样例输出:
-
10110011 10110011 01100001
-
来源:
- 2010年华中科技大学计算机研究生机试真题
-
#include<iostream> #include<string.h> using namespace std; int main() { char str[101]; while(cin>>str) { int j=7; for(int i=0;i<strlen(str);i++) { int a; int b[10]={0}; a=str[i]; while(a!=0) { b[j--]=a%2; a=a/2; } j=7; int cnt=0; for(int k=7;k>=0;k--) { if(b[k]==1) { cnt++;} } if(cnt%2==0) { b[0]=1; } for(int k=0;k<8;k++) { cout<<b[k]; } cout<<endl; } } }