九度OJ 1197:奇偶校验 (基础题)

来源:互联网 发布:春雨国际网络医疗 编辑:程序博客网 时间:2024/06/04 18:55

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:3590

解决:1511

题目描述:

输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。

输入:

输入包括一个字符串,字符串长度不超过100。

输出:

可能有多组测试数据,对于每组数据,
对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。

样例输入:
33a
样例输出:
101100111011001101100001
来源:
2010年华中科技大学计算机研究生机试真题

思路:

奇校验是啥如果不知道就自己上网查喽,或者参考我的代码,比较简单。


代码:

#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****************************************************************/


0 0
原创粉丝点击