题目:设计一个程序使输入年份月份与日期,即可输出这是这一年中的第几天。
思路:先判断是否是闰年;再看月份,月份比较多,用switch...case语句。
代码如下:
years = input('请输入年份:');
month = input('请输入月份:');
day = input('请输入日期:');
switch month
case 1
day1 = 31;
case 2
if (mod(years, 4) == 0 && mod(years, 100) ~= 0) || mod(years, 400) == 0
day1 = 29;
else
day1 = 28;
end
case 3
day1 = 31 + 28;
case 4
day1 = 31 + 28 + 31;
case 5
day1 = 31 + 28 + 31 + 30;
case 6
day1 = 31 + 28 + 31 + 30 + 31;
case 7
day1 = 31 + 28 + 31 + 30 + 31 + 30;
case 8
day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31;
case 9
day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31;
case 10
day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30;
case 11
day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31;
case 12
day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30;
otherwise
fprintf('请输入有效的月份');
return;
end
days = day1 + day;
fprintf('今天是第%d天', days);