-
题目描述:
-
输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。
-
输入:
-
输入包括一个字符串,字符串长度不超过100。
-
输出:
-
可能有多组测试数据,对于每组数据,
对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。
-
样例输入:
-
3 3a
-
样例输出:
-
10110011 10110011 01100001
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char s[105];
int i, n, len, res[10], j, cnt, k;
while(gets(s) != NULL) {
len = strlen(s);
for(i = 0; s[i]; i++) {
n = (int)s[i];
// printf("%d\n", n);
cnt = 0;
k = 0;
for(j = 0; j < 7; j++) {
if(n % 2 == 1) {
cnt++;
}
res[k++] = n % 2;
n /= 2;
}
if(cnt % 2 == 1) {
res[k++] = 0;
}
else {
res[k++] = 1;
}
for(j = 7; j >= 0; j--) {
printf("%d", res[j]);
}
printf("\n");
}
}
return 0;
}