P216 18.給出年月日,計(jì)算該日是該年的第幾天
輸入年月日,輸出該日是該年的第幾天。
算法如下:
判斷該年是否為閏年,閏年2月有29天,平年2月有28天。
計(jì)算該月之前的天數(shù)總和,加上當(dāng)月的天數(shù),即為該日是該年的第幾天。
例如,輸入2021年3月15日,計(jì)算方法如下:
判斷2021年是否為閏年,不是閏年,2月有28天。
計(jì)算3月之前的天數(shù)總和:31(1月)+28(2月)=59天。
加上當(dāng)月的天數(shù)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("請(qǐng)分別輸入年,月,日:");
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;
}
?運(yùn)行結(jié)果:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-756458.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756458.html
到了這里,關(guān)于【C語(yǔ)言】P216 18.給出年月日,計(jì)算該日是該年的第幾天的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!