C Primer Plus chapter 14 编程题 2 结构体struct的应用

2. 编写一个函数,提示用户输入日、月和年。月份可以是月份号、月份
名或月份名缩写。然后该程序应返回一年中到用户指定日子(包括这一天)
的总天数。

分析

1、需要用到一个结构体(前一题用过的),包括月份全称,简称,天数,以及月份号(1,2,……)

2、因为有闰年,所以需要实例化两个结构体,一个是普通年份(2月天数28天),一个是闰年年份(2月天数29天)

typedef struct month {
	char name[10];
	char abbrev[4];
	int days;
	int monthnumb;
} mm;

mm common_months[12] =  //普通年份
{
	{"January", "jan", 31, 1},
	{"February", "feb", 28, 2},
	{"March", "mar", 31, 3},
	{"April", "apr", 30, 4},
	{"May", "may", 31, 5},
	{"June", "jun", 30, 6},
	{"July", "jul", 31, 7},
	{"August", "aug", 31, 8},
	{"September", "sep", 30, 9},
	{"October", "oct", 31, 10},
	{"November", "nov", 30, 11},
	{"December", "dec", 31, 12}
};

mm leap_months[12] = {  //闰年


	{"January", "jan", 31, 1},
	{"February", "feb", 29, 2},
	{"March", "mar", 31, 3},
	{"April", "apr", 30, 4},
	{"May", "may", 31, 5},
	{"June"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值