华为机试笔记2

1. string类的substr函数,题目:字符串分隔

2. string类的append函数

3. 字符串反转的方法,题目:字符串反转, https://blog.csdn.net/szu_aker/article/details/52422191#

(1)reverse函数,头文件是#include <algorithm>,https://www.cnblogs.com/yuanch2019/p/11591995.html

https://cloud.tencent.com/developer/article/1150743

reverse函数功能是逆序(或反转),多用于字符串、数组、容器。

reverse函数用于反转在[first,last)范围内的顺序(包括first指向的元素,不包括last指向的元素),reverse函数无返回值

string str="hello world , hi";
reverse(str.begin(),str.end());//str结果为 ih , dlrow olleh
vector<int> v = {5,4,3,2,1};
reverse(v.begin(),v.end());//容器v的值变为1,2,3,4,5

(2)strrev函数,但是要记住,strrev函数只对字符数组有效,对string类型是无效的。

https://blog.csdn.net/puqutogether/article/details/42914127

4. C++常用概念——while循环时终止输入(Ctrl+Z,Ctrl+C,Ctrl+D(EOF)),题目:1题

Ctrl+Z:一般用于输入字符串,   Ctrl+D(EOF):一般用于输入数字,  Ctrl+C直接就终止程序了

https://blog.csdn.net/sinat_36053757/article/details/77131392

5. c++的stack容器,题目:句子逆序           https://www.cnblogs.com/hdk1993/p/5809161.html

6. multiset允许重复的元素存在

7. 进制转换函数,题目:内存存储1的个数

首先是10进制向其他几个进制的定向转换   https://www.cnblogs.com/KyleDeng/p/9262242.html

std::bitset(转2进制),std::oct(转8进制),std::dec (转10进制),std::hex(转16进制)。

#include <bitset>
#include <iostream>
using namespace std;
int main()
{
    cout << "36的8进制:" << std::oct << 36 << endl;
    cout << "36的10进制" << std::dec << 36 << endl;
    cout << "36的16进制:" << std::hex << 36 << endl;
    cout << "36的2进制: " << bitset<8>(36) << endl;
    return 0;
}

重点:bitset,https://www.cnblogs.com/RabbitHu/p/bitset.html

https://blog.csdn.net/qll125596718/article/details/6901935

然后是任意进制向10进制的转换,未完待续,遇到具体的题再说

8. 最小公倍数求法, 题目:最小公倍数   https://baike.baidu.com/item/%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0/6192375?fr=aladdin

      

(1) 先把这几个数的质因数写出来,最小公倍数等于它们所有的质因数的乘积(如果有几个质因数相同,则比较两数中哪个数有该质因数的个数较多,乘较多的次数)。

(2) 由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(a,b)×[a,b]=a×b。所以,求两个数的最小公倍数,就可以先求出它们的最大公约数

发布了6 篇原创文章 · 获赞 0 · 访问量 477

猜你喜欢

转载自blog.csdn.net/JiWei0811/article/details/105346245