0
已解决
李宜和
高级启示者
高级启示者
题目链接: 酷町堂:1325
知识点:数学
为什么错?
#include<iostream>
#include<iomanip>
#include<cmath>
#include<cstdio>
using namespace std;
int ny(int n,int m){//判断函数
if(n>2021&&n<1){
return 0;
}
if(m>12&&m<1){
return 0;
}应该出错在这两个if
if(n%4==0||n%400==0&&m==2){
return 29;
}else if(m==1){
return 31;
}else if(m==2){
return 28;
}else if(m==3){
return 31;
}else if(m==4){
return 30;
}else if(m==5){
return 31;
}else if(m==6){
return 30;
}else if(m==7){
return 31;
}else if(m==8){
return 31;
}else if(m==9){
return 30;
}else if(m==10){
return 31;
}else if(m==11){
return 30;
}else if(m==12){
return 31;
}
}
int main(){
int a,b;
cin>>a>>b;
if(ny(a,b)==0){//判断年月日
cout<<"Error!";
}else{
cout<<ny(a,b);
}
return 0;
}
(样例2不对,输出17......)