C语言问题,定义一个表示日期的结构体变量(包括年月日),写一个函数,返回值为某天是当年的第几天

2024-11-08 11:51:44
推荐回答(1个)
回答1:

#include

struct date //定义结构体类型
{
int y;
int m;
int d;
};

void main()
{
date dt; //定义结构体变量
int i,count, mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

printf("请输入日期(年 月 日):");
scanf("%d",&dt.y);
scanf("%d",&dt.m);
scanf("%d",&dt.d);

count=dt.d; //把 dt.d 计入总天数
for(i=0;i count+=mon[i]; //把月份 dt.m 前边的每月的天数累计入总数

if( dt.m>2 && (dt.y%4==0&&dt.y%100!=0||dt.y%400==0) )
count+=1; //如果是闰年,则要把3月份和3月份以后的总天数加1

printf("这一日是这一年的第 %d 天\n", count);
}