问题:
编写一个计算天数的程序。用户从键盘输入年月日,在屏幕中输出此日期是该年的第几天
思路:
- 计算年的,需要考虑到闰年,因此定义两个年份数组,一个代表正常年,一个代表闰年。
- 先判断,若该年是闰年,则进行闰年数组的计算,反之另外一种情况。
- 算完当前月份前面几个月的天数后,再计算该月的天数即可。
这里也可以,定义一个判断闰年的函数,没啥区别。
代码如下:
#include <stdio.h>
int main()
{
int year,month,day;
int nian[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int run[12]= {31,29,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d %d",&year,&month,&day);
int i;
int Day=0;
if(year%400==0||year%4==0&&year%100!=0)
{
for(i=0;i<month-1;i++)//给当月份天数前的月份加起来
{
Day=Day+run[i];
}
}
else
{
for(i=0;i<month-1;i++)//给当月份天数前的月份加起来
{
Day=Day+nian[i];
}
}
Day=Day+day;//给当月天数加一起
printf("Day=%d",Day);
return 0;
}