给出年月日,计算该日是该年的第几天——C语言

1 概述

给出年月日,计算该日是该年的第几天

2 解法
//C程序设计第五版(谭浩强)
//章节:第七章 用函数实现模块化程序设计 
//练习7.18 给出年月日,计算该日是该年的第几天。
#include <stdio.h>

int main()
{
	int when(int year, int month, int day);
	int year,month,day;
	printf("请依次输入年月日:");
	scanf("%d%d%d", &year, &month, &day);
	printf("该日是%d年的第%d天!", year, when(year, month, day));
	return 0;
}

int when(int year, int month, int day)
{
	int when_day;
	when_day = (month-1)*30 + day - 2; // 这是非闰年,且每个月只计算了30天; 
	if((year%4==0 && year%100!=0) || year%400==0){// 首先应该判断这一年是不是闰年吧!	
		printf("%d年是闰年,所以二月有29天!\n",year); 
		if(month>2){
			when_day += 1;
		}
	}
	if(month<=7){
		when_day += month/2;
	}
	else{
		when_day += month/2+1;
	}
	return when_day; 
}
 


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangpaopao0609

看星空看日落不如看我的眼眸

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值