返回题解分享
讨论 / 题解分享/ 帖子详情

日期问题(编程题) - 题解

#include<bits/stdc++.h>
using namespace std;
int a,b,c;
int main()
{
	scanf("%d/%d/%d",&a,&b,&c);
	for(int i=1960;i<=2059;i++)
		for(int j=1;j<=12;j++)
			for(int k=1;k<=31;k++)
			{
				if(j==1||j==3||j==5||j==7||j==8||j==10||j==12){
					
				}
				else if(j==2)
				{
					if(i%400==0||(i%100!=0&&i%4==0))
					{
						if(k>29)	break;
					}else 
					{
						if(k>28)	break;
					}
				}else 
				{
					if(k>30)	break;
				}
			if ((i % 100 == a && j == b && k == c)||  // 年/月/日
                (j == a && k == b && i % 100 == c)||  // 月/日/年
                (k == a && j == b && i % 100 == c))   //月/日/年
                printf("%d-%02d-%02d\n", i, j, k);
			}
	return 0;
}
0 回复 0 转发 8 喜欢 2 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!