【刷题笔记3】

笔记3

  1. 输出小数位数控制。(自动四舍五入,不够就自动补0)
double a=123.456;
cout<<fixed<<setprecision(2)<<a;
  1. 递归题目的记录

(1):n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。

#include 
using namespace std;
int digui(int x,int y)
{
    if(x==1||y==1)//只有一行或者一列的时候,就有x+y种方法
    return x+y;    //否则就往上或者往下走一步。
    return digui(x-1,y)+digui(x,y-1);
}

int main() {
    int m,n;
    cin>>n>>m;
    cout<<digui(m,n);

}

  1. 一种特殊的进制转换

作用相当于是:输出a*pow(2,24); 也就相当于,这个数转换成二进制后,在后面多了24个0.

    long long int a, b, c, d;
    char ch;//ch替换'.'
    long long int num;
 
    while (cin>>a>>ch>>b>>ch>>c>>ch>>d) {
        cin >> num;
        cout << (a << 24) + (b << 16) + (c << 8) + d << endl;
        a = num >> 24;
        num = num - (a << 24);
        b = num >> 16;
        num = num - (b << 16);
        c = num >> 8;
        d = num - (c << 8);
        cout << a << "." << b << "." << c << "." << d << endl;
    }


你可能感兴趣的:(笔记,c++,算法)