坚决打造绿色网络安全环境,禁止发布不当信息,发布需实名认证,已清理未实名用户

c++,如何对位互换,如100010变010001

  •    234游戏网友 提出于 2019-07-27 01:02:39
  • 请问:c++,如何对位互换,如100010变010001

    请注意:本网坚决拥护中国共产党领导,坚决打击任何违规违法内容,若您发现任何有害信息,请E-Mail:q@qimei168.com举报,我们核实后将给予现金奖励!爱国是每个中国人应尽的责任,爱国从我做起!为实现中国梦,实现中国腾飞而努力!

    2019-04-24 10:15:43

    最佳回答 不知道你解决了没有?下面是演示程序供参考:
    #include 

    using namespace std;

    void mirror_reverse(char *str, size_t n);

    int main(int argc, char const *argv[])
    {
        char s[][7] = { "010001",
                        "110000",
                        "101000",
                        "111000"};
        size_t rows = sizeof(s)/sizeof(s[0]);
        size_t cols = sizeof(s[0])/sizeof(s[0][0]); // ''    ending.
        
        for (int i = 0; i < rows; ++i) {
            mirror_reverse(s[i], cols-1);
            cout << s[i] << endl;
        }    
        return 0;
    }

    void mirror_reverse(char *str, size_t n)
    {
        int first, last;
        char c;

        for (first = 0, last = n-1; first < last; first++, last--) {
            c = str[first];
            str[first] = str[last];
            str[last] = c;        
        }

    }运行结果:
    100010
    000011
    000101
    000111 若未找到您需要的回答,请添加微信公众号每日时讯榜(搜索公众号或者,第一个公众号即是)留言即可,管理员会在第一时间内给予答复。

    2019-04-24 10:15:43

    • 给你个思路,先把字符串分割成字符数组,把字符数字元素对调组成字符串。不会再给你编代码
      追问:希望能有代码,最好是2维数组,
      010001
      110000
      101000
      111000
      变为
      100010
      000011
      000101
      000111
      不能让你白干,有加分

      2019-04-24 10:15:43

    相似问题

    精彩推荐