星系爆炸(星系爆炸拳 什么小说)

2023-11-02 19:32:14azu

星系爆炸

c语言-星系爆炸问题

题目要求:浩瀚的星系空间里有很多人造炸弹,每个炸弹都可以设置几天后爆炸。例如,如果阿尔法炸弹在2015年1月1日放置15天,它将在2015年1月16日爆炸。

分析:首先定义一个长度为12的一位数组,存储一年中每个月的天数。(二月比较特殊,可以先设为28或29中的任意一天,然后根据平年和闰年判断具体几天)。

输入设定的天数后,让天数从0增加1,直到与当月天数相同。同样,当月份达到12时,年份加1,最后,按照格式输出。

该过程如下:

星系爆炸

#包括

intmain()

{

intmonthdayintdays={31,28,31,30,31,30,31,31,30,31,30,31 };

[12]

年、月、日;

inti

scanf("%d-%d-%d%d ",&year,&month,& days);

for(I = 0;imonthday[month-1]){

day = 1;

month++;

如果(月份> 12){

月= 1;

year++;

if((year % 400 = = 0)| |(year % 4 = = 0 & year % 100!=0))

month day[1]= 29;

其他

month day[1]= 28;

}

}

}

printf("%d-%d-%d ",年、月、日);

return0

}

编写程序时遇到的问题及其改进;

第一个周期,在开始写的时候,在day++语句之后,直接判断天数是否到月,不需要判断闰年,输入几组值进行验证,结果都是正确的。但是,有同学看了之后提出了一个问题:如果一开始输入的月份是一月份,而年份恰好是闰年,那么程序第一次运行的时候,二月份并没有被特殊对待,仍然被视为正常年份,这会导致日期的最终日期提前一天。

所以我加了一句判断年复一年++的话,保证不管第一个月是在2月之前还是之后,都能得到正确的输出结果。

相关游戏

相关文章

最新游戏

网友评论