首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

天勤OJ 标题1448: 日期累加

2013-02-19 
天勤OJ 题目1448: 日期累加题目描述设计一个程序能计算一个日期加上若干天后是什么日期。 输入输入第一行表

天勤OJ 题目1448: 日期累加

题目描述

设计一个程序能计算一个日期加上若干天后是什么日期。

 
输入

输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。

 
输出

输出m行,每行按yyyy-mm-dd的个数输出。

 
样例输入
1
2008 2 3 100
 
样例输出
2008-05-13
 
提示 [+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

 
来源

北京理工大学计算机专业2008年研究生复试上机试题

 

#include<stdio.h>#include<string.h>#include<stdlib.h>int f[13] = {0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};bool check(int y) {    if (y % 100 == 0)        return y % 400 == 0;    else        return y % 4 == 0;}int main() {    int t;    scanf("%d", &t);    while (t--) {        int y, m, d, x;        scanf("%d %d %d %d", &y, &m, &d, &x);        f[2] = 28 + check(y);        d += x;        while (d > f[m]) {            d -= f[m];            ++m;            if (m > 12) {                m = 1;                ++y;                f[2] = 28 + check(y); //重新更新二月份的天数            }        }        printf("%04d-%02d-%02d\n", y, m, d);    }    return 0;}


热点排行