note 20200920

2020-09-20 | Share to Twitter

非0的都是处

三种结构:

顺序结构

圆角矩形: 起止框 平行四边形: I/O框 矩形: 处理

分支结构(选择)

菱形: 判断框

//判断闰年
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    // not:  %400!=0 && %100==0
    //       %3200==0
    scanf("%d",&n);
    if(((n%400!=0)&&(n%100==0))||(n%3200==0))
        printf("N\n");
    else if(n%4==0)
        printf("Y\n");
    else 
        printf("N\n");
    return 0;
}

//思考问题bug????????????????
#include <bits/stdc++.h>

using namespace std;

int mark(int a, int b);

int main()
{
    int s1, s2;
    int a, b, c, d;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    s1 = mark(a,b); cout << ""; //????????为什么不能去掉这一行
    // 问题在mark函数里面
    // mark里面的s没有初始化
    // int s,m = max(a,b) 应当改成 int s=0, m=max(a,b);
    s2 = mark(c,d); 
    if (s1>s2) 
        printf("player 1 won");
    else if 
        (s1==s2) printf("no one won");
    else 
        printf("player 2 won");
    return 0;
}

int mark(int a, int b)
{
    int s,m = max(a,b);
    s += (a==8&&b==2)||(a==2&&b==8)?10000:0;
    s += a==b?1000:0;
    s += m*m*m+(m==a?b:a);
    return s;
}

// 也可以转换成两位数(a*10+b 比较 c*10+d)  

循环结构

当型/直到型

break continue return

++i 比 i++(一般快) (O2优化一样快)(建议为++i/–i)

基本不用float(double,请)