判断某年某月某日

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 判断某年某月某日

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

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

实例

include

// 用一个数组存储每个月的天数
const int daysInMonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

int main() {
int day, month, year, sum;
printf("\n请输入年、月、日,格式为:年,月,日(2015,12,10)\n");
if (scanf("%d,%d,%d", &year, &month, &day) != 3 || month < 1 || month > 12 || day < 1 || day > 31) {
printf("输入数据错误\n");
return 1;
}

// 计算输入月份之前的总天数
sum = 0;
for (int i = 0; i < month - 1; i++) {
    sum += daysInMonth[i];
}
sum += day;

// 判断是否为闰年
int leap = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);

// 如果是闰年且月份大于2, 总天数加一天
if (leap && month > 2) {
    sum++;
}

printf("这是这一年的第 %d 天。\n", sum);
return 0;

}

以上实例输出结果为:

请输入年、月、日,格式为:年,月,日(2015,12,10)
2015,10,1
这是这一年的第 274 天。

目录
相关文章
AcWing 3498. 日期差值(每日一题)
AcWing 3498. 日期差值(每日一题)
|
7月前
计算某年某月某日是星期几
计算某年某月某日是星期几
|
7月前
每日一题:统计天数
每日一题:统计天数
47 0
OJ题库:计算日期到天数转换、打印从1到最大的n位数 、尼科彻斯定理
OJ题库:计算日期到天数转换、打印从1到最大的n位数 、尼科彻斯定理
63 0
判断某年某月的天数
输入年份和月份,返回该月份的天数
【寒假每日一题】AcWing 3400. 统计次数(补)
目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
55 0
算法每日一题——第一天——统计特殊四元组
算法每日一题——第一天——统计特殊四元组
算法每日一题——第一天——统计特殊四元组
|
C语言
第三周:3.1判断
C语言的第三周内容,判断是编程的一个重要里程,在任何一个编程语言中都离不开的东西,当然,也包括了C语言,在这章节你会逐渐了解判断的魅力的
106 0