3、 声明一个结构体,包括年、月、日 成员,定义一个结构体变量,计算该日在本年中是第几天,注意闰年
1个回答
展开全部
#include <stdio.h>
#include <conio.h>
/* 日期存储结构 */
typedef struct date {
int year; /* 年 */
int month; /* 月 */
int day; /* 日 */
} date;
int dpm[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; /* 平年每月天数 */
/* 判断闰年 1:是; 0:否 */
/* 闰年特点:年份是4的倍数但不是100的倍数、年份是400的倍数 */
int isLeap (int year) {
return (year%4==0 && year%100!=0) || (year%400==0);
}
/* 求日期为当年的第几天 */
int days (int year, int month, int day) {
int i;
int days = 0;
/* 年初至上月天数累加 */
for (i=1; i<month; i++)
days += dpm[i];
if (month>2 && isLeap(year)) /* 闰年加1天 */
days++;
days += day; /* 月初至当前天数累加 */
return days;
}
int main (void) {
date dt;
int x = 0;
int i;
printf ("输入年月日:");
scanf ("%d%d%d", &dt.year, &dt.month, &dt.day);
x = days (dt.year, dt.month, dt.day);
printf ("%d年%d月%d日是%d年的第%d天!\n", dt.year, dt.month, dt.day, dt.year, x);
getch (); /*屏幕暂留*/
return 0;
}
如有问题,点击头像联系我
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询