题解 P5690 【[CSP-SJX2019]日期】
Already_AFO · · 题解
其实这一题虽然只是一题红题,但是,要注意的细节很多
这一题,实际上只要把十二个月都列出来,就是直接判断每一个月只要月份不合法,然后日期也不合法,就直接该两次,然后这个程序就结束了
接着只要判断有31天的月份,然后二月的时候判断一下,然后有三十天的时候判断一下只要日期不合法就改一次,就行了
CODE:
#include<bits/stdc++.h>
using namespace std;
char b;
int a,c;
int flag;
int main(){
cin>>a>>b>>c;
if(a>12||a==0)flag++;
if(a>12||a==0){
if(c>31)flag++;
}
if(a==1||a==3||a==5||a==7||a==8||a==10||a==12){
if(c>31)flag++;
}
else if(a==2){
if(c>28)flag++;
}
else if(a==4||a==6||a==9||a==11){
if(c>30)flag++;
}
if(c==0)flag++;
cout<<flag;
return 0;
}
蟹