-
题目描述:
-
输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。
-
输入:
-
输入包括一个字符串,字符串长度不超过100。
-
输出:
-
可能有多组测试数据,对于每组数据,
对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。
-
样例输入:
-
3 3a
-
样例输出:
-
10110011 10110011 01100001
思路:
奇校验是啥如果不知道就自己上网查喽,或者参考我的代码,比较简单。
代码:
#include <stdio.h>
#include <string.h>
#define N 100
int main(void)
{
int i, j;
char s[N+1];
int num[8];
while (scanf("%s", s) != EOF)
{
for(i=0; s[i]; i++)
{
memset(num, 0, sizeof(num));
for (j=0; s[i]; j++)
{
num[j] = s[i]%2;
s[i] = s[i]/2;
}
for (j=0; j<7; j++)
num[7] ^= num[j];
num[7] ^= 1;
for(j=7; j>=0; j--)
{
if(j == 0)
printf("%d\n",num[j]);
else
printf("%d",num[j]);
}
}
}
return 0;
}
/**************************************************************
Problem: 1197
User: liangrx06
Language: C
Result: Accepted
Time:90 ms
Memory:912 kb
****************************************************************/