C语言每日一题 ----计算日期到天数转换(Day 2)

这篇具有很好参考价值的文章主要介绍了C语言每日一题 ----计算日期到天数转换(Day 2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。

💓博主csdn个人主页:小小unicorn
⏩专栏分类:C语言天天练
🚚代码仓库:小小unicorn的代码仓库🚚
🌹🌹🌹关注我带你学习编程知识

题目描述:

根据输入的日期,计算是这一年的第几天。保证年份为4位数且日期合法。

输入描述:
输入一行,每行空格分割,分别是年,月,日

输出描述:
输出是这一年的第几天

C语言每日一题 ----计算日期到天数转换(Day 2),c语言天天练,c语言,开发语言,数组,闰年

解题思路:

实现这个问题基本思路很简单,就是遍历数组。
需要注意的是,平年和闰年之间的差别。平年和闰年之间的差别。因此根据用户需求,首先要判断平年还是闰年。

变量含义:

咱们首先定义一个数组,用来存放每一个月的天数,其次定义四个变量,年,月,日以及天数计数器。

monthinfo:数组名(用来存放一年中每个月的天数,以平年为例)
year: 年
month: 月
day: 日
datecount: 天数计数

int monthinfo[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int year, month, day;

具体思路:

闰年的计算是:能被4整除但不能被1整除或者被400整除。

year % 4 == 0 && year % 100 != 0 || year % 400 == 0

如果是闰年,首先让数组下标为1的元素+1;

monthinfo[1]++;

然后遍历数组判断月数(也就是访问数组的第几个下标),找到后用循环对天数实现++操作。

int datecount = 0;
    for (int i = 0; i < month - 1; i++)
    {
        datecount += monthinfo[i];
    }
    datecount += day;

最后day赋值给天数计数变量变量,打印即可。

datecount += day;

代码实现:

#include <stdio.h>
#include <string.h>

int main()
 {
    int monthinfo[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int year, month, day;
    scanf("%d %d %d", &year, &month, &day);

    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
        {
         monthinfo[1]++;
        }

    int datecount = 0;
    for (int i = 0; i < month - 1; i++)
    {
        datecount += monthinfo[i];
    }
    datecount += day;

    printf("%d", datecount);

    return 0;
}

结果情况:

C语言每日一题 ----计算日期到天数转换(Day 2),c语言天天练,c语言,开发语言,数组,闰年
合题目情况,问题得到解决。

总结:

本题算是一道简单题,基本思路就是遍历数组,注意到遍历之前首先要判断一个平年闰年情况即可。

文章到这里就要告一段落了,有更好的想法或问题,欢迎评论区留言。
希望今天的练习能对您有所收获,咱们下期见!文章来源地址https://www.toymoban.com/news/detail-678466.html

到了这里,关于C语言每日一题 ----计算日期到天数转换(Day 2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】每日一题(半月斩)——day4

      目录 选择题 1、设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是( ) 2、运行以下程序后,如果从键盘上输入 65 14回车 ,则输出结果为( )  3、若运行以下程序时,从键盘输入 ADescriptor回车 ,则下面程序的运行结果是( ) 4、如下函

    2024年02月07日
    浏览(29)
  • C语言 每日一题 PTA 11.6 day10

    N 个正数的算数平均是这些数的和除以 N,它们的调和平均是它们倒数的算数平均的倒数。 本题就请你计算给定的一系列正数的调和平均值。 输入格式: 每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N(≤1000);第 2 行给出 N 个正数,都在区间[0.1, 100] 内。 输出

    2024年02月05日
    浏览(34)
  • 计算日期到天数的换算

    目录 1.题目概述 2.题解 思路分析 具体实现 根据输入的日期,计算是这一年的第几天。 输入描述: 输入一行,每行空格分割,分别是年,月,日 输出描述 : 输出是这一年的第几天 示例: 输入:1982 3 4 输出:63 将每个月的天数保存在一个数组中,若输入年份是闰年,则二月

    2024年02月13日
    浏览(30)
  • 【案例】js 计算日期之间的天数

    new Date(\\\'2023-03-06\\\') 作用是转换成标准时间,再进行计算的,而不是转换为字符串在进行计算,切记啊!! 代码看起来只是传值的时候不一样;而实际转换时有区别

    2024年02月06日
    浏览(34)
  • java计算两个日期间的天数

    1、精确到年月日 2、精确到秒,向下取值 如有问题,欢迎指正~ 如能帮到您,欢迎点赞收藏~

    2024年02月11日
    浏览(38)
  • mysql 日期 计算 时间差 天数差

    第一种:TIMESTAMPDIFF函数 三个参数。第一个参数是比较的类型: FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY 、 WEEK 、 MONTH 、 QUARTER、 YEAR 几种类型。第二、三参数是时间, 后减前 : 第二种: DATEDIFF函数 两个参数。前减后。得到相差的天数。 NOW() 当前的年月日时分秒,如:2023-03-09

    2024年02月07日
    浏览(44)
  • java 计算两个日期之间相隔的天数

    在Java 8中,你可以使用 java.time 包中的 LocalDate 类和 Period 类来计算两个日期字符串之间相隔的天数。以下是一个示例代码: 在这个示例中,我们首先将日期字符串解析为 LocalDate 对象,然后使用 Period.between() 方法计算两个日期之间的时期。最后,我们使用 Period.getDays() 方法获

    2024年02月05日
    浏览(42)
  • Java计算两个日期之间的天数差

    在Java中,我们可以使用Java 8引入的 java.time 包来处理日期和时间。下面是一种方法来计算两个日期之间的天数差。 首先,我们需要导入相关的类: 然后,我们可以编写一个方法来计算日期之间的天数差: 在这个方法中,我们使用了 ChronoUnit.DAYS.between 方法来计算两个 LocalDa

    2024年02月03日
    浏览(30)
  • java计算日期相差天数的4种方法

    方法1:long值相减(推荐) 方法2: 方法3: 方法4:

    2024年04月28日
    浏览(33)
  • 在线推算两个日期相差天数的计算器

     具体请前往:在线推算两个日期相差天数的计算器

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包