判断某年某月是这一年的第几天(多种方法)

本文介绍了三种不同的方法来确定特定年份和月份在当年的天数,包括非函数调用方式、函数调用以及多个函数协作的解决方案。
摘要由CSDN通过智能技术生成

(1) 判断某年某月是这一年的第几天------方法1-----非函数调用方式

 

/*(1)判断某年月日是这一年的第几天----非函数调用形式

 判断某年某月某日这一年中是第几天。 
 
程序分析:以2011年3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 
      情况,闰年且输入月份大于3时需考虑多加一天。 
程序实现: 
          在主程序中输入输入某年某月某日,例如2012 9 18(年月日之间用空格隔开), 输出某年某月某日这一年中是第几天。     
注意 在判断前要保证输入的日期是合法的。 
*/  
  
#include <iostream>   
using namespace std;  
int main()  
{ 
	int year,month,day; //year表示年,month存月,day存天
	int sum; //存放该天是本年中的第几天
	int leap;  //是否是闰年的标志

	cout<<"please input year,month,day(for example input 2012 9 18):";  
	cin>>year>>month>>day;  //输入要计算的年月日
	
	//以下循环是对输入日期(年、月、日)的合法性判断,如果输入的日期有误,需要重新输入
	if(year%400==0||(year%4==0&&year%100!=0))//判断是不是闰年   
		leap=1;  //闰年   
	else   
		leap=0; //非闰年   
	
	while((year<=0||month>12||month<=0||day<=0||day>31)||
		  (month==4||month==6||month==9||month==11)&&(day==31)||
		  (leap==1&&month==2&&day>29)||(leap==0&&month==2&&day>28)) 
	{cout<<"input date error!"<<endl;  
	 cout<<"please input year,month,day(for example input 2012 9 18):";  
	 cin>>year>>month>>day;  
	 if(year%400==0||(year%4==0&&year%100!=0))//判断是不是闰年   
		leap=1;  //闰年   
	 else   
		leap=0; //非闰
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值