P216 18.给出年月日,计算该日是该年的第几天
输入年月日,输出该日是该年的第几天。
算法如下:
判断该年是否为闰年,闰年2月有29天,平年2月有28天。
计算该月之前的天数总和,加上当月的天数,即为该日是该年的第几天。
例如,输入2021年3月15日,计算方法如下:
判断2021年是否为闰年,不是闰年,2月有28天。
计算3月之前的天数总和:31(1月)+28(2月)=59天。
加上当月的天数15天,即为该日是该年的第74天。
因此,输出为74。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int leap(int year);
int sum_days(int month, int day);
int year, month, day,days;
printf("请分别输入年,月,日:");
scanf("%d,%d,%d", &year, &month, &day);
days = sum_days(month, day);
if (leap(year) && month > 3) {
days += 1;
}
printf("%d/%d/%d", year, month, day);
printf("是该年的第%d天\n", days);
return 0;
}
int leap(int year) {
int leap = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
return leap;
}
int sum_days(int month, int day) {
int total_day[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
int i = 0;
for (i = 1; i < month; i++) {
day += total_day[i];
}
return day;
}
运行结果:
文章来源:https://www.toymoban.com/news/detail-756458.html
文章来源地址https://www.toymoban.com/news/detail-756458.html
到了这里,关于【C语言】P216 18.给出年月日,计算该日是该年的第几天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!