// 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。
//写一个函数days,实现第1题的计算。由主函数将年、月、日传递给days函数.
//计算后将日子数传回主函数输出。
#include<stdio.h>
int days(int year,int month,int day)
{
int day_sum=0;
int month_sum[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};// 12个月每月的天数
for(int i=0;i<month;i++)
{
day_sum+=month_sum[i];//month个月
}
day_sum=day_sum+day;//加上这个月的day
if ((year%4==0 && year%100!=0 || year%400==0) && month > 2)//判断闰年 ,1月和2月不用考虑
{
day_sum+=1;//闰年2月多一天
}
return day_sum;
}
struct date
{
int year;
int month;
int day;
};
int main()
{
struct date yanlu;
int sum;
printf("请输入年月(1-12)日(1-31):");
scanf("%d %d %d",&yanlu.year,&yanlu.month,&yanlu.day);
sum=days(yanlu.year,yanlu.month,yanlu.day);//调用time返回总天数
printf("\n%d月%d日是%d年的第%d天。",yanlu.month,yanlu.day,yanlu.year,sum);
return 0;
}
C语言-该日是本年第几天---@颜麓
最新推荐文章于 2023-01-02 23:42:40 发布