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

如题所述

#include <stdio.h>

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<dt.m;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);
}
温馨提示:答案为网友推荐,仅供参考
相似回答