• 备战考研算法笔记(二) 奇偶校验


    题目描述:

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

    输入:

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

    输出:

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

    样例输入:
    3
    3a
    样例输出:
    10110011
    10110011
    01100001
    // OJ.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdio.h"
    int count=0;
    int deep=0;
    void convert(int num ,int mode)
    {
      if(num/mode==0){//如果已经到了最高位
    
          if(num%mode==1) count++;//判断最高位是否为1
    
          if(deep<7)
           {//看是否需要修改最高位
                if (count%2==0) printf("1");
                else {printf("0");}
            while(deep<=5)//输出多于位数
            {
             printf("0");
             deep++;
            }
            printf("%d",num%mode);//输出最高位
           }
          else{if (count==0) printf("1");
                else {printf("0");}}
        
             
          return;}
      else 
       {
         deep++;//看位数
         if(num%mode==1)count++;//判断是0还是1
         convert(num/mode,mode);
         printf("%d",num%mode);//输出
        
       }
    }
    
    int main()
    {
        
        char  a[101];
        while(scanf("%s", a)==1)
        {
            int i=0;
        while(a[i] !='')
        {
            count=0;
            deep=0;
            //printf("
    ");
            //printf("
    %d
    ",a[i]);
            int b=a[i];
            convert(b,2);
            printf("
    ");
            i++;
        }
        }
        return 0;
    }
  • 相关阅读:
    执行shell脚本的四种方式(转)
    linux free命令详解(一)
    linux TOP命令各参数详解【转载】
    grep命令
    vim常用命令
    IntelliJ Idea注释模板--类注释、方法注释
    [Chrome]抓请求直接生成可执行代码
    记录Markdown工具Typora
    VSCODE 配置远程开发环境
    [Boost::Polygon]多边形相减得到新的多边形序列
  • 原文地址:https://www.cnblogs.com/ligen/p/3195394.html
Copyright © 2020-2023  润新知