c语言竞赛题
星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
2015-05-08 20:48
貌似很简单,为什么一敲代码就有好多情况要考虑,不知道怎样理清思路。。。。
2015-05-08 20:49
2015-05-09 09:54
程序代码:#include <stdio.h>
int is_leap(int year);//判断闰年
main()
{
int year, month, day, d_day;
int days[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};//平年第0行,闰年第1行
printf("输入起始日期:(yyyy-mm-dd)\n");
scanf("%d-%d-%d", &year, &month, &day);
printf("输入相隔天数:");
scanf("%d", &d_day);
while(d_day > days[is_leap(year)][month-1] - day)//剩余天数不够进位则停止循环
{
d_day -= days[is_leap(year)][month-1];
month++;
if(month == 13)
{
month = 1;
year++;
}
}
day += d_day;
printf("%d-%02d-%02d\n", year, month, day);
}
int is_leap(int year)
{
if(year % 4 != 0 || (year % 100 == 0 && year % 400 != 0))
return 0;
else
return 1;
}
2015-05-09 10:15
2015-05-13 19:29
2015-05-13 19:47
2015-05-13 19:53
2015-05-13 19:55

2015-05-13 20:08
2015-05-13 20:08