#C语言自学之路 输入某年某月某日,判断这一天是这一年的第几天

C语言自学之路

试做题目

开始学习C语言也有一个多星期了,写这个bolg就权当记录之用吧。

题目:输入某年某月某日,判断这一天是这一年的第几天?

源码

/// 
//	题目:输入某年某月某日,判断这一天是这一年的第几天?
//	
//	思路:月份可知当月以前总天数,加上日,即为全年第几天。
//		遇到闰年,2月以上加一天。
///

#include <stdio.h>

int main()
{
	int y,m,d,sum; 
	
	printf ("请输入年月日,用空格隔开。如2019 3 21\n");
	scanf ("%d %d %d", &y, &m, &d);

	switch (m) //当月前的总天数 
	{
		case 1: sum = 0; break;
		case 2: sum = 31; break;
		case 3: sum = 59; break;
		case 4: sum = 90; break;
		case 5: sum = 120; break;
		case 6: sum = 151; break;
		case 7: sum = 181; break;
		case 8: sum = 212; break;
		case 9: sum = 243; break;
		case 10: sum = 273; break;
		case 11: sum = 304; break;
		case 12: sum = 334; break;		
		default : printf ("日期输入错误\n");
	}	
	sum += d; // 加上日,即为第几天

	if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0))  // 判断是否闰年
	{
		if (m > 2)  // 如果月份大于2月,才需要加1
		{
			sum++;
			printf ("这天是%d年的第%d天\n", y, sum);
		} 
	} 
	else printf ("这天是%d年的第%d天\n", y, sum);

	return 0;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值