文章

5

粉丝

174

获赞

2

访问

39.7k

头像
c/c++实现
P1051 中南大学机试题
发布于2021年3月11日 15:23
阅读数 8.9k

#include<bits/stdc++.h>
using namespace std;

struct Date
{
    int year,month,day;
};
bool isrun(int year);
int main()
{
   Date d;
   while(scanf("%d %d %d",&d.year,&d.month,&d.day)!=EOF)
   {
       if(d.month>12||d.month<1||d.day>31||d.day<1)
        {
            printf("Input error!\n");
            continue;
        }
        bool flag=isrun(d.year);
        if(flag&&d.month!=1&&d.day>29)
        {
                printf("Input error!\n");
                continue;
        }else if(!flag&&d.month!=1&&d.day>28)
        {
            printf("Input error!\n");
                continue;
        }
   int run[13]={-1,31,29,31,30,31,30,31,31,30,31,30,31};//闰年二月29天
   int frun[13]={-1,31,28,31,30,31,30,31,31,30,31,30,31};//平年二月28天
   if(flag)
   {
       if(d.month==1)
        printf("%d\n",d.day);
       else
       {
           int count=0;
           for(int i=1;i<d.month;...
登录查看完整内容


登录后发布评论

1 条评论
Andrew Chou
2021年4月16日 19:46

为什么d.month!=1&&date>28就是input error? 不应该是d.month==2&&date>28? 如果输入5月 date等于31难道也是输入错误?

赞(0)