No.1390 代码:https://code.csdn.net/snippets/191965  另一版本:https://code.csdn.net/snippets/192009

考察点有两个:①将一个数转换为指定进制的数  ②判断是否为回文数

 

vector<char> num;
num.insert(num.begin(), j);

向 vector 的指定位置插入元素,对于 vector 它不像 list 和 deque 可以调用 num.push_front(j) 来向队列最前端插入元素,因而只能使用 num.insert()。

 

对于10进制以上的进制,当某一位的数字大于等于10之后,就需要将其转换成 ‘A’ ‘B’ ‘C’.......来表示。

        if(i<10)
            j=(char)(i+48);
        else
            j=(char)(i+55);

实现原理是将数字通过加法变成 ASCII 中的对应的编号,然后再转换成字符。

 

vector 类型无法直接输出,不妨将他转化成 string 型。

string vectorTostring(vector<char> num)
{
    vector<char>::iterator a;
    string s;
    for(a=num.begin(); a<num.end(); a++)
        s+=*a;

    return s;
}

 

 

相关文章:

  • 2021-08-12
  • 2021-09-30
  • 2021-10-11
  • 2021-06-23
  • 2021-11-18
  • 2021-06-08
  • 2021-06-26
  • 2021-08-10
猜你喜欢
  • 2021-07-16
  • 2021-12-30
  • 2021-06-21
  • 2021-10-31
  • 2021-08-07
  • 2022-03-15
相关资源
相似解决方案