返回题解分享
讨论 / 题解分享/ 帖子详情

日期统计(结果填空) - 题解

套day1模板+sprinf函数

using namespace std;
int a[101];
int main(){
    for (int i = 1;i <= 100; ++i) {
        scanf("%d",&a[i]);
    }
    char str[8];
    int cnt = 0;
    int flag = 0;
    for (int i = 2023; i <= 2023; ++i) {
        for (int j = 1; j <= 12; ++j) {
            for (int k = 1; k <= 31; ++k) {
                if (j == 1 || j == 3 || j == 5 || j == 7 || j == 8 || j == 10 || j == 12){
                }else if (j == 2){
                    if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0){
                        if (k > 29) break;
                    }else{
                        if (k > 28) break;
                    }
                }else {
                    if (k > 30) break;
                }
                sprintf(str,"%04d%02d%02d",i,j,k);
                int m = 0;
                for(int n = 1; n <= 100; ++n) {
                    if (a[n] == (str[m] - '0')){
                        m++;
                        if (m == 8) break;
                    }
                }
                if (m == 8) flag = 1;
                if (flag == 1) {
                    cnt++;
                    flag = 0;
                }
            }
        }
    }
    cout << cnt;
    return 0;
}`
0 回复 0 转发 5 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!