CCF认证201509-2日期计算

题目描述

201509-2日期计算

算法设计+题目分析

分析题目:

1、先判断给的年份是闰年还是非闰年;
2、根据第一步判断出的结果计算是第几月第几天。

注意点+记录点

代码(100分)

环境
Visual C++6.0

#include <stdio.h>

bool Judge_r(int y){//判断是否是闰年
	if (y%4 == 0 && y%100 != 0) return true;
	if (y%400 == 0) return true;
	return false;
}
void P(int a, int b){//规范打印格式
	printf("%d\n", a);
	printf("%d", b);
}
void Print(int d){//非闰年的打印
	if (d<=31) P(1, d);
	if (d>31 && d<=59) P(2, d-31);
	if (d>59 && d<=90) P(3, d-59);
	if (d>90 && d<=120) P(4, d-90);
	if (d>120 && d<=151) P(5, d-120);
	if (d>151 && d<=181) P(6, d-151);
	if (d>181 && d<=212) P(7, d-181);
	if (d>212 && d<=243) P(8, d-212);
	if (d>243 && d<=273) P(9, d-243);
	if (d>273 && d<=304) P(10, d-273);
	if (d>304 && d<=334) P(11, d-304);
	if (d>334 && d<=365) P(12, d-334);
	return;
}
void Print_r(int d){//闰年的打印
	if (d<=31) P(1, d);
	if (d>31 && d<=60) P(2, d-31);
	if (d>60 && d<=91) P(3, d-60);
	if (d>91 && d<=121) P(4, d-91);
	if (d>121 && d<=152) P(5, d-121);
	if (d>152 && d<=182) P(6, d-152);
	if (d>182 && d<=213) P(7, d-182);
	if (d>213 && d<=244) P(8, d-213);
	if (d>244 && d<=274) P(9, d-244);
	if (d>274 && d<=305) P(10, d-274);
	if (d>305 && d<=335) P(11, d-305);
	if (d>335 && d<=366) P(12, d-335);
	return;
}
int main(){
	int y,d;
	scanf("%d", &y);
	scanf("%d", &d);
	bool flag=Judge_r(y);
	if (flag){//是闰年
		Print_r(d);
	}
	else Print(d);//非闰年
	return 0;
}

感谢链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值