MATLAB编程实现对闰年和非闰年的判断 【例】

disp(\'This program calculates the day of year given the \');

disp(\'current date.\');

month = input(\'Enter current month (1-12):\');

day = input(\'Enter current day(1-31):\');

year = input(\'Enter current year(yyyy): \');

% Check for leap year, and add extra day if necessary

if mod(year,400) == 0

leap_day = 1;

fprintf(\'The year is a leap year\n\');% Years divisible by 400 are leap years

elseif mod(year,100) == 0

leap_day = 0;

fprintf(\'The year is not a leap year\n\');% Other centuries are not leap years

elseif mod(year,4) == 0

leap_day = 1;

fprintf(\'The year is a leap year\n\');% Otherwise every 4th year is a leap year

else

leap_day = 0;

fprintf(\'The year is not a leap year\n\');% Other years are not leap years

end

% Calculate day of year by adding current day to the

% days in previous months.

day_of_year = day;

for ii = 1:month - 1

% Add days in months from January to last month

switch (ii)

case {1,3,5,7,8,10,12},

day_of_year = day_of_year + 31;

case {4,6,9,11},

day_of_year = day_of_year + 30;

case 2,

day_of_year = day_of_year + 28 + leap_day;

end

end

% Tell user

if leap_day==0

fprintf(\'The date -/-/M is day of year %d.\n\',month, day, year, day_of_year);

fprintf(\'The remaining day are:%d,all %d days\n\',365-day_of_year,365);

else