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
posted @ 2013-03-06 20:29  dreamsyeah  阅读(2490)  评论(0编辑  收藏  举报