文章
11
粉丝
410
获赞
9
访问
109.7k
大体思路; 输入n,搞一个循环,累次输入具体年份,并且输出算好的。 所以关键就在于每次输入后,对输入数据的处理。
数据处理分为两个关键。 一,判断并修改二月的天数,又分为两种情况,1,平年到闰年,2,闰年到平年。 一个函数就搞定。 函数需要在两个地方调用----初始输入的时候, 天数累加刚好超过本年12月时候。
二, 天数的处理。 可以直接把天数和 输入的日期天数加和。。 让然后与本月的固定天数(30/31/28/29)比较. 若超过,则循环减去固定天数,并自增月份。 最后就是月数和12比较,改年份 而此时就到了调用函数的一个关键时刻。
代码及注释如下
#include
void month(int y,int f[]) //函数用于判断,修改闰年二月天数
// (为闰年改为29,上一年是闰年,下一年改为28)
{
if((y%4==0&&y%100!=0)||y%400==0) f[1] =29;
else f[1] = 28;
}
int main() //程序总体逻辑见图
{
int n,y,m,d,sum;
scanf("%d",&n);
while(n--){
int f[12]={31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d%d%d%d",&y,&m,&d,&sum);
month(y,f);
sum+=d;
// printf("%04d-%02d-%02d\n", y, m, d);
while(sum-f[m-...
登录后发布评论
暂无评论,来抢沙发