C程序给出年月日计算该日是该年的第几天程序代码.docx

C程序给出年月日计算该日是该年的第几天程序代码.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序:给出年、月、日,计算该日是该年的第几天。 用户从键盘中输入年、月、日,在屏幕上输出显示该日期是该年的第几天。 思路: 1、判断输入的年份是否是闰年。闰年的判别条件是能被4整除,但不能被100整除;或者能被400整除。 2、求此日期是该年的第几天。这里将12个月每个月的天数存在数组中,并且采用两个数组分别保存平年和闰年的每个月的天数。计算日期是第几天时,只需要累计月份之前每个月的天数,再加上输入的日数。 代码: int leap(int a) /*自定义函数leap用来指定年份是否为闰年*/ { if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) /*闰年判定条件*/ { return 1; /*是闰年返回1*/ } return 0; /*不是闰年返回0*/ } int number(int year, int m, int d) /*自定义函数number计算输入日期为该年第几天*/ { int sum = 0, i; int a[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; /*数组a存放平年每月的天数*/ int b[12] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; /*数组b存放闰年每月的天数*/ if (leap(year) == 1) /*判断是否为闰年*/ { for (i = 0; i < m - 1; i++) { sum += b[i]; /*是闰年,累加数组b前m-1个月份天数*/ } } else { for (i = 0; i < m - 1; i++) { sum += a[i]; /*不是闰年,累加数组a钱m-1个月份天数*/ } } sum += d; /*将前面累加的结果加上日期,求出总天数*/ return sum; /*将计算的天数返回*/ } int main(){ int year, month, day, n; /*定义变量为基本整型*/ cout << "请输入年月日:"; cin >> year; cin >> month; cin >> day; /*输入年月日*/ n = number(year, month, day); /*调用函数number*/ cout << "第" << n << "天" << endl2; return 0; } 计算某日在本年中的第几天问题 前言:这是C语言程序设计第五版【谭浩强】章节对应的习题,从第十章开始,逆序回写。力求程序思路简明,会比参考答案更加通俗易懂且易上手,代码更加规范的同时也会标上相关注释。若有纰漏,请指正。本文为第九章课后习题(9.1-9.2)。本系列累计已完成代码行数:678 9.1 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。 解题思路: 正常年份每个月中的天数是已知的,只要给出日期,算出该日在本年中是第几天是不困难的。 用一个日期数组保存每一月的天数,二月的天数记为28天,后面根据输入的时间确定是否是闰年的二月,如果是,天数在加1。 判断闰年还是平年:能被4或400整除但不能被100整除的都是闰年,其余的年份均为平年。例如2000年是闰年,2100年不是闰年。 #include "stdio.h" #include "string.h" #include "stdlib.h" struct Date { int year; int month; int day; }; int main(int argc,char *argv[]) { fun9_1(); return 0; } void fun9_1(void) { struct Date data; int i =0; int days =0;//统计的天数 int Days[13]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; /* 用一个日期数组保存每一月的天数,二月的天数记为28天 1月份:Days[1] = 31 2月份:Days[2] = 28 3月份:Days[3] = 31 4月份:Days[4] = 30 以此类推 */ printf("please input data(eg:2022/04/

文档评论(0)

企业管理 + 关注
实名认证
服务提供商

计算机三级持证人

从事多年企业管理、在团队建设、员工培训、营销提升、组织架构有多自己的经验,希望在这个平台分享及帮助更多的公司或企业!

领域认证该用户于2023年05月09日上传了计算机三级

1亿VIP精品文档

相关文档