试题描述
1)编写dayofyear函数,将年、月、日做为函数参数,计算并返回它是这一年的第几天(要求考虑闰年的问题)。
2)编写main主函数,从键盘读取三个整数(分别代表年、月、日),然后调用dayofyear函数,最后输出此函数的返回值。
#include <stdio.h>
int dayofyear(int year,int month,int day)
{
int a[12],i,sum=0;
if (year%4==0&&year%100!=0||year%400==0)//判断是否为闰年
{
int a[]={31,29,31,30,31,30,31,31,30,31,30,31};//如果是闰年,第二个月为29天
for (i=0;i<month-1;i++)
{
sum=sum+a[i];
}
}
else
{
int a[]={31,28,31,30,31,30,31,31,30,31,30,31};//如果不是闰年,第二个月为28天
for (i=0;i<month-1;i++)
{
sum=sum+a[i];
}
}
sum=sum+day
printf("%d",sum);//最后加上天数
return sum;
}
int main()
{
int year,month,day;
scanf("%d %d %d",&year,&month,&day);//
dayofyear(year,month,day);
return 0;
}
输入3个整数,分别代表年、月、日,相邻两项之间用一个空格隔开。
输出一个整数,代表该日期是这一年的第几天。
示例:2000 1 31 输出:31
新手小白,如有错误,可指正。