文章

11

粉丝

69

获赞

1

访问

6.3k

头像
日期类 题解:
P1437 北京理工大学机试题
发布于2024年3月23日 20:53
阅读数 455

#include<stdio.h>  
#include<stdbool.h>
bool isL(int year)
{
if((year%4==0&&year%100!=0)||year%400==0)
     return true;
else return false;
}


int main() 
{
int n;
int y,m,d;
scanf("%d",&n);
int f[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int year[100],month[100],day[100];//用于存储以便于一次性输出
 for(int i=0;i<n;i++)              //输入n次数据
 {
 scanf("%d %d %d",&y,&m,&d);
 if(isL(y))f[2]=29;
     if(d==f[m])
	 {
      d=1;
	  m++;
	 }
     else d++;
	 if(m>=12&&d==1) //月份m>=12并且日期为1(此时1是31处理后的结果)
	 {
	  m=1;
      y++;
	 }
	 year[i]=y;
	 month[i]=m;
	 day[i]=d;
 }
    for(int j=0;j<n;j++)//一次性输出
	{
	printf("%d-%02d-%02d\n",year[j],month[j],day[j]);
	}

return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发