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
请发表评论