80分求助

P5690 [CSP-S2019 江西] 日期

@[YuanHaoYu6315](/user/693278) 如果MM:DD是2:89呢,应该是2对吧,但你的代码输出的是1
by zfj123456 @ 2023-07-12 13:16:25


@[zfj123456](/user/744050) 没毛病:02-19
by oyoham @ 2023-07-12 13:30:32


@[zhuyihao20100712](/user/957618) 如果02:89呢,8和9不都需要改吗
by zfj123456 @ 2023-07-12 14:51:08


把8改成1就行了
by oyoham @ 2023-07-12 16:40:24


02—19是合法的。
by oyoham @ 2023-07-12 16:41:01


如果是24-31的话,要修改2个,但你的代码中输出的是 1
by oyoham @ 2023-07-12 16:45:33


这既不能是04-31,也不能是14-31.
by oyoham @ 2023-07-12 16:46:25


@[YuanHaoYu6315](/user/693278) 问题可能出在这里
by oyoham @ 2023-07-12 16:47:47


@[zhuyihao20100712](/user/957618) 好谢谢,已关注
by YuanHaoYu6315 @ 2023-07-12 16:49:55


改成这样就AC了: ```cpp #include<bits/stdc++.h> using namespace std; int main(){ int m,d; scanf("%d-%d",&m,&d); if(d > 0 && d <= 28){ if(m <= 12 && m > 0) cout << 0 <<endl; else cout << 1 <<endl; } else if(d == 29 || d== 30){ if(m == 2 || m < 1 || m > 12) cout << 1 <<endl; else cout << 0 <<endl; } else if(d == 31){ if(m == 1|| m== 3 ||m == 5 || m == 7 || m == 8 || m ==10||m == 12) cout <<0 <<endl; else if(m <= 12) cout <<1 <<endl; else if(m % 10 == 4 || m % 10 == 6 || m % 10 == 9) cout <<2 <<endl; else cout <<1 <<endl; } else if(m==0||m>12) cout<<2; else cout <<1 <<endl; } ``` 此代码评测记录:https://www.luogu.com.cn/record/115112032
by oyoham @ 2023-07-12 16:56:20


| 下一页