C/C++知识点之求年积日
来自:新开发者(IT开发者)
本文主要向大家介绍了C/C++知识点之求年积日,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
题目:输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于
packageSuanFa;
importjava.util.Scanner;
publicclassDemo14{
publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub //年积日问题135781012 //312831303130313130313031 fucntion(); } publicstaticvoidfucntion(){ Scannersc=newScanner(System.in); //输入年月日 System.out.println("请输入年份:"); intyear=sc.nextInt(); System.out.println("请输入月份:"); intmonth=sc.nextInt(); System.out.println("请输入日期:"); intday=sc.nextInt(); //判断闰年 if(month>2){
if(year%4==0&&year%100!=0||year%400==0){//判断闰年条件 day=day+1; }else{ day=day; } }
int_dayCount=0;//对应月份之前总天数 intdayCount=0;//总和天数
int[]monthNum={31,28,31,30,31,30,31,31,30,31,30,31};//每个月对应的时间天数 for(inti=0;i<month-1;i++){ _dayCount=_dayCount+monthNum[i];//统计月份天数和 } dayCount=day+_dayCount; System.out.println("总天数为:"+dayCount);
} }
我们可以把各个月份的天数存入数组里面,然后根据输入的月份去遍历数组,只是数组索引从0开始,比输入的月份少1,遍历时候需注意,遍历同时我们可以做一个累加 其次注意有闰年之分,在遍历之前先判断是否是闰年,然后如果闰年涉及到2月以后的月份,天数都要+1,而2月之前不变。 总体思路是先输入3.5先把3月份以前的每个月天数和求出,这里我是放在数组里面遍历求和,也可以提前把月份对应天数和求出来,加上对应的天数即可。
3时需考虑多加一天
本文由职坐标整理并发布,了解更多内容,请关注职坐标编程语言C/C+频道!
最新讨论 ( 更多 )
- 【资讯】十多年来,使用过C ++、Ruby、Java语言等多种语言开... (新开发者)
- 学术访谈招募 (废墟上的阅读者)
- 5分钟教会你,QML如何通过WebSocket和C++语言交互? (新开发者)
- 人工智能前沿学生论坛60期| 知识图谱专场 (Jarvis)
- Python 实现曲线点抽稀算法 (新开发者)