打印日期
题目描述:
给出年份y和这一年中的第n天,计算第n天是几月几号。
输入描述:
输入包括两个整数y, n。
输出描述:
可能有多组测试数据,对于每组测试数据,按yyyy-mm-dd的格式输出。
输入用例:
2000 3 2000 31 2000 40 2000 60 2000 61 2001 61
输出用例:
2000-01-03 2000-01-03 2000-02-09 2000-02-29 2000-03-01 2001-03-01
测试代码:
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int y, n, i; 6 int nMonthDays[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 7 8 while (scanf("%d%d", &y, &n) != EOF) 9 { 10 if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) 11 { 12 nMonthDays[1] = 29; 13 } 14 else 15 { 16 nMonthDays[1] = 28; 17 } 18 i = 1; 19 while (n > nMonthDays[i - 1]) 20 { 21 n -= nMonthDays[i - 1]; 22 i++; 23 } 24 printf("%04d-%02d-%02d\n", y, i, n); 25 } 26 27 return 0; 28 }