当前位置:首页 > 星座运势 > 正文

每日一道c语言编程题,第十三题 ,判断这一天是这一年的第几天?

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

#include stdio.h

每日一道c语言编程题,第十三题 ,判断这一天是这一年的第几天?

int main() {

int year, month, day;

int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

int total_days = 0;

printf("请输入年月日(格式:yyyy-mm-dd):");

scanf("%d-%d-%d", year, month, day);

// 计算闰年,2 月有 29 天

if ((year % 4 == 0 year % 100 != 0) || year % 400 == 0) {

days_in_month[1] = 29;

// 计算这一天是这一年的第几天

for (int i = 0; i month - 1; i++) {

total_days += days_in_month[i];

total_days += day - 1; // 减去本月之前的天数

printf("%d 年 %d 月 %d 日是这一年的第 %d 天\n", year, month, day, total_days);

return 0;

这个程序的基本思路是先计算出输入年份是否为闰年,以确定二月份的天数,然后再计算出输入的月份之前的天数之和,最后加上输入的日数,即可得到这一天是这一年的第几天。

具体实现过程如下:

1.定义变量 year、month 和 day,用于存储输入的年月日。定义数days_in_month,用于存储每个月份的天数。

2.输入年月日,并计算是否为闰年,如果是,将 2 月份的天数设为 29。

3.计算输入月份之前的天数之和,使用 for 循环遍历月份数组,累加每个月份的天数。

4.计算输入月份之前的天数之和,使用 for 循环遍历月份数组,累加每个月份的天数。

这个程序比较简单易懂,但需要注意的是,计算闰年的方法必须正确,否则得到的结果可能不正确。

你可能想看:

有话要说...

取消
扫码支持 支付码