文章
3
粉丝
18
获赞
15
访问
2.6k
 
#include <bits/stdc++.h>
using namespace std;
int main(){
        int year,month,day;int sum=0;int Month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        while(cin>>year>>month>>day){
            if(month<1||month>12) return false;
            if(day<1||day>31) return false;
            if(((year%4==0)&&(year%100!=0))||(year%400==0)) Month[2]=29;
            else Month[2]=28;
            int i;
            for(i=1;i<month;i++){
                sum=sum+Month[i];
            }
    ...
登录后发布评论
if(day<1||day>31) 这一句的判断条件不对,你笼统的把所有月份所对应的日期都改为了超过31天作为错误,实际上2月份的30天也是错的
你的false应该改为输出题目要求的
cout<<sum;改为 cout<<sum<<endl;