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


    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:3590

    解决:1511

    题目描述:

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

    输入:

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

    输出:

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

    样例输入:
    3
    3a
    样例输出:
    10110011
    10110011
    01100001
    来源:
    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
    ",num[j]);
                    else
                        printf("%d",num[j]);
                }
            }
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1197
        User: liangrx06
        Language: C
        Result: Accepted
        Time:90 ms
        Memory:912 kb
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    try catch使用示例
    doxgen生成chm文档和乱码解决方法
    MFC中MessageBox()用法
    UML聚合与组合
    C#网络编程
    单元测试(NUnit)
    Autohotkey
    .NET中的并行
    System.Environment类的使用
    一键VHD
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083830.html
Copyright © 2020-2023  润新知