関数daysを記述して、メイン関数が年、月、日(構造体タイプ)を日関数に渡すことを認識します。日関数は、月と日が年の日であると計算し、の出力を返します。主な機能。
プログラムの実行例は次のとおりです。
日付(年、月、日)を入力してください。1990、2 、
142
月14日は1990年の45日目です。
入力形式:
"日付(年、月、日)を入力してください\ n"
"%d、%d、%d"
出力形式:
"\ n%d月%d日は%d年の%d日です。 「」
コード:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int Month[12] = {
31,28,31,30,31,30,31,31,30,31,30,31 };
int IsLeap(int year)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
return 1;
else
return 0;
}
int days(int year, int month, int day) //函数功能---计算天数
{
int i;
int sum = 0;
for (i = 0; i < month-1; i++)
{
sum += Month[i];
}
sum += day; //加上当月天数
if (IsLeap(year) == 1 && month > 2)
{
sum++;
}
return sum;
}
int main()
{
int year, month, day;
printf("请输入日期(年,月,日)\n");
scanf("%d,%d,%d", &year, &month, &day);
int ret = days(year, month, day);
printf("\n%d月%d日是%d年的第%d天。", month, day, year, ret);
}