写一个函数days,实现主函数将年、月、日(结构体类型)传递给days函数,days函数计算该年该月该日是该年的第几天并传回主函数输出。
输入提示:“请输入日期(年,月,日)\n”
输入格式:"%d,%d,%d"
输出格式:"\n%d月%d日是%d年的第%d天。"
程序的运行示例如下:
请输入日期(年,月,日)
1990,2,14
2月14日是1990年的第45天。
#include <stdio.h>
#include <stdlib.h>
#define N 13
typedef struct day
{
int year;
int month;
int day;
}DAY;
int days(int t,int m,int n);
int main()
{
DAY x;
int y;
printf("请输入日期(年,月,日)\n");
scanf("%d,%d,%d",&x.year,&x.month,&x.day);
y=days(x.year,x.month,x.day);
printf("\n%d月%d日是%d年的第%d天。",x.year,x.month,x.day,y);
return 0;
}
int days(int t,int m,int n){
int sum=0;
int a[N]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i;
for(i=1;i<m;i++){
sum+=a[i];
}
sum+=n;
if((t%100!=0&&t%4==0)||t%400==0){
sum+=1;
}
return sum;
}