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


分析:这个程序主要问题在于月份31天和30天,以及二月份的闰年29天和平年28天问题,解决办法首先判断是平年还是闰年,确定二          月份的时间,然后用case选择语句,算出该月份以前的总天数,从三月份开始在加上2月份天数;本次设计程序也有一定局限                性, 需要输入合法时间,才能正确输出正确的结果:

#include <stdio.h> int main(int argc,char *argv[])
{int y,m,d,days,February;printf("input the year:");scanf("%d",&y);printf("input the mouth:");scanf("%d",&m);printf("input the day:");scanf("%d",&d);if (y%400==0||(y%4==0&&y%100!=0)) February=29;else February=28;switch (m) {case 1:days=0;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 2:days=31; printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 3:days=31+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 4:days=62+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 5:days=92+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 6:days=123+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 7:days=153+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 8:days=184+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 9:days=215+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 10:days=245+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 11:days=276+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;case 12:days=306+February;printf("%d年%d月%d日是一年中的第%d天!",y,m,d,days+d);break;default:printf("你输入月份错误!"); break;}system("PAUSE");return 0;
}

编译软件是用的DEV-C++需要加system("PAUSE");才能让结果暂停住,显示出来;

运行结果截图:

另一种 差不多方法

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

#include <stdio.h>int main()
{int day,month,year,sum,leap;printf("\nplease input year,month,day\n");scanf("%d,%d,%d",&year,&month,&day);printf("%d,%,d%d",year,month,day);switch(month)/*先计算某月以前月份的总天数*/{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("data error");break;}sum=sum+day; /*再加上某天的天数*/if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/leap=1;elseleap=0;if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/sum++;printf("It is the %d  day.",sum);return 0;
}

结果截图:

输入某年某月某日,判断这一天是这一年的第几天?相关推荐

  1. python输入某年某月某日判断这是第几天_Python编程实现输入某年某月某日计算出这一天是该年第几天的方法...

    本文实例讲述了Python编程实现输入某年某月某日计算出这一天是该年第几天的方法.分享给大家供大家参考,具体如下: #基于 Python3 一种做法: def is_leap_year(year): ...

  2. java那一年出来的_输入某年某月某日 判断其是那一年的第多少天

    [java]代码库Scanner scan = new Scanner(System. in); System. out .print("请输入年:" ); int year = ...

  3. 代码实现:输入某年某月某日,判断这一天是这一年的第几天?

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  4. 输入某年某月某日,Java判断这一天是这一年的第几天?

    输入某年某月某日,判断这一天是这一年的第几天? package p3;一.class judgedaypublic class judgeday {public static void main(St ...

  5. 【C语言】题目:输入某年某月某日,判断这一天是这一年的第几天?

    题目:输入某年某月某日,判断这一天是这一年的第几天? 题目分析: 设日期为:A年X月Y日 1.判断A年是否为闰年(确定是2月份的天数) 2.判断这是X月,加上前(X-1)月的总天数Z 3.判断这是Y日 ...

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

    #输入某年某月某日,判断这一天是这一年的第几天? '''思路:首先年月日是分着输入还是一块输入,想到如果一块输入可能还需要分割分别找到年月日 所以还是分着输入比较好:接着考虑计算天数其实就是往常月份的 ...

  7. Java输入某年某月某日,判断这一天是这一年的第几天?

    分析:大家都知道,每年的总共日期,要么就是365天,要么就是366天,具体是取决于闰年还是平年,更确切的说就是每年二月是28天还是29天,归结到这个问题,有一个关键的认识点,就是求解这一年是闰年(36 ...

  8. python求输入某年某月某日,判断这一天是这一年的第几天

    方法一: """ 3.输入某年某月某日,判断这一天是这一年的第几天 """ year = int(input("请输入年分:&qu ...

  9. C语言例题:输入某年某月某日,判断这一天是这一年的第几天?

    题目:输入某年某月某日,判断这一天是这一年的第几天? 参考程序如下: #include<stdio.h>void main() {int year, month, day,sum,leap ...

  10. 输入某年某月某日,判断这一天是这一年的第几天?(JS实现)

    输入某年某月某日,判断这一天是这一年的第几天?(JS实现) 想知道今天是一年中的第几天吗,我知道你不想,不想也得想,跟着我一起看看这个功能如何利用Javascript实现.首先一个简单的思路就是获取当 ...

最新文章

  1. 深入理解 C 指针阅读笔记 -- 第三章
  2. linux中yum命令详解
  3. maven和gradle中,dependency和plugin的区别
  4. 8 线性表-循环队列-顺序存储
  5. 终于在2000年的联想6920上较完美的运行起了Gentoo Linux
  6. 从遇见到信任 | Apache Dubbo 的毕业之旅
  7. mysql俩个表之间关联语法_MySQL多表关联SQL语句调优
  8. Ark CEO:本次比特币下跌属于健康回调
  9. JQuery与springmvc实现多个文件上传操作
  10. B+/-Tree原理
  11. Windows下安装X710网卡驱动
  12. matlab中离散化傅里叶变换,Matlab模拟傅里叶变换
  13. SPSS Modeler 神经网络实践案例(第十四章)
  14. 编写函数void reverse(string s),用递归算法使字符串s倒叙
  15. WC2020 打铁记
  16. Neo4j 启动报错 Server shutdown initiated by request
  17. (二)安装SVN服务器,web管理界面
  18. css动画与渐变案例,使用动画和渐变做一个背景动态网页
  19. 计算机无法使用本地搜索,电脑资源管理器搜索功能无法使用解决措施
  20. 作文经典好词好句好段摘抄大全

热门文章

  1. 谢烟客---------Linux之bash编程
  2. MATLAB进行非线性拟合
  3. android8 保卫萝卜,保卫萝卜挑战8攻略图解,学会这些,轻松过第八关
  4. 中国冰淇淋市场深度评估及发展趋势预测报告(2022版)
  5. 二维特征分类的基础_用特征提取技术降低数据集维度,你学会了吗?
  6. 2019 计蒜之道 初赛 第一场 A-商汤的AI伴游小精灵
  7. magisk卸载内置软件_Win10自带软件怎么卸载 Win10自带软件卸载方法【详细教程】...
  8. OpenStack入门到实战视频教程全集下载(罗勇老师经典教程系列)
  9. java基础,进阶(二)
  10. python入门与实战--ENS未注册域名批量查询