zoukankan      html  css  js  c++  java
  • 华为机试——数字字符串转二进制

    C_C++_XY_09.数字字符串转二进制

    • 题目描述:

    输入一个三个数字的字符串,请将此串进行如下整理:

    将字符串转换成数字,转换为二进制数,如果倒数第三位是“0”,则输出“0”,如果是“1”,则输出“1”。

    比如,输入字符串“240”,转换为二进制为“11110000”,它的倒数第三位是“0”,所以输出是“0”.

    • 要求实现函数:

    void ArrangeString(const char *pInputStr, long lInputLen, char *pOutputStr);

    · 【输入】 pInputStr: 输入字符串

    · lInputLen: 输入字符串长度

    · 【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;

    · 【注意】不用考虑输入串为空,非数字等异常

    • 示例

    输入:“000”

    输出:“0”

    输入:“251”

    输出:“0”

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54

    #include <iostream>
    #include <stdlib.h>
    #include <bitset>
    using namespace std;
     
    void ArrangeString(const char *pInputStr, long lInputLen, char *pOutputStr)
    {
        if ((pInputStr == NULL) || (lInputLen <= 0) || (pOutputStr == NULL))
        {
            return;
        }
     
        int num = atoi(pInputStr);
        bitset<32> b(num);
        if (b[2] == 1)
        {
            *pOutputStr = '1';
        }
        else
        {
            *pOutputStr = '0';
        }
     
        pOutputStr++;
        *pOutputStr = '';
    }
    //void ArrangeString(const char *pInputStr, long lInputLen, char *pOutputStr)
    //{
    //     if ((pInputStr == NULL) || (lInputLen <= 0) || (pOutputStr == NULL))
    //     {
    //         return;
    //     }
    //
    //     int num = atoi(pInputStr);
    //     if ((num >> 2) & 0x01 == 1)
    //     {
    //         *pOutputStr = '1';
    //     }
    //     else
    //     {
    //         *pOutputStr = '0';
    //     }
    //
    //     pOutputStr++;
    //     *pOutputStr = '';
    //}
     
    int main() {
        const char *pInputStr = "251";
        char pOutputStr[10];
        ArrangeString(pInputStr, 3, pOutputStr);
        cout << pOutputStr << endl;
        return 0;
    }
  • 相关阅读:
    Delphi 2009 新增单元 Character[1]: ToUpper、ToLower
    复制整个文件夹(当然包括嵌套文件夹)
    Delphi 的匿名多线程
    Delphi 2009 泛型容器单元(Generics.Collections)[4]: TDictionary<T>
    Delphi 2009 泛型容器单元(Generics.Collections)[3]: TStack<T>
    Delphi 2009 泛型容器单元(Generics.Collections)[2]: TQueue<T>
    Delphi XE 10.3.3 RSA 签名(IdSSLOpenSSLHeaders)
    Delphi XE 与 Delphi 7 转换
    webacula安装部署流程
    webacula root登陆密码错误解决方案
  • 原文地址:https://www.cnblogs.com/helloweworld/p/3193902.html
Copyright © 2011-2022 走看看