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;
    }
  • 相关阅读:
    DATAX windows下安装及csv文件导入mysql简单案例
    JAVA质量属性之易用性战术分析
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
    14 得到相关连的热词数据
    13 信息领域热词分析部分功能展示
    12 所学和感受
    从Android开发看MVC
    论面向服务架构(SOA)设计及其应用
    GitHub上快速创建文件夹
    GitHub将私有库(private)、公有库(public)相互转换
  • 原文地址:https://www.cnblogs.com/helloweworld/p/3193902.html
Copyright © 2011-2022 走看看