C&C++

Points

  1. 简易进制转换

    C

    1
    2
    3
    printf("%05o\n",35);    //按八进制格式输出,保留5位高位补零
    printf("%03d\n",35); //按十进制格式输出,保留3位高位补零
    printf("%05x\n",35); //按十六进制格式输出,保留5位高位补零

    C++

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    #include <bitset>
    #include<iostream>
    using namespace std;
    int main()
    {
    cout << "35的8进制:" << oct << 35<< endl;
    cout << "35的10进制" << dec << 35 << endl;
    cout << "35的16进制:" << hex << 35 << endl;
    cout << "35的2进制: " << bitset<8>(35) << endl; //<8>:表示保留8位输出
    return 0;
    }
  2. 保留X位小数/有效数字

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //C++
    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main()
    {
    double a;
    cin>>a;
    cout<<setprecision(x)<<a<<endl;//保留x位有效数字
    cout<<fixed<<setprecision(x)<<a<<endl;//保留x位小数
    return 0;
    }
  3. sort函数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    //头文件
    #include <algorithm>
    void sort(start,end,cmp);
    /*
    start表示要排序数组的起始地址
    end表示数组结束地址的下一位
    cmp用于规定排序的方法,可不填,默认升序
    */
    //Example
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main()
    {
    int a[10]={9,6,3,8,5,2,7,4,1,0};
    for(int i=0;i<10;i++)
    cout<<a[i]<<endl;
    sort(a,a+10);//指针
    for(int i=0;i<10;i++)
    cout<<a[i]<<endl;
    return 0;
    }
  4. 进制转换函数

    itoa

    atoi

    strtol

  5. string类函数