首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

#include

int main() {

  int year, month, day;

  int days_in_month[] = ;

  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 循环遍历月份数组,累加每个月份的天数。

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230309A042KX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券