一、N的階乘
%腳本文件:test.m %N的階乘 使用舉例 % 定義變量 % ii ---循環變量,也就是循環次數 % N ---N的階乘 % N_factorial --計算N的階乘 clc;clear; %N的階乘,以后封裝為函數 N=5; N_factorial=1; for ii = 1:N N_factorial = N_factorial * ii; end fprintf(' %d的階乘結果是:%f\n', ii,N_factorial);
二、the day of year
%腳本文件:date.m %目標: % 該程序特定日期在這一年的天數,用到了switch和for結構 % 版本記錄: % 日期 編者 變化描述 % 2015-10-5 16:泡泡 源代碼 % 定義變量: % day --輸入某一天(dd) % month --輸入某一月 (mm) % year --輸入某一年(yyyy) % ii --循環索引 % day_of_year --這一年的天數 % leap_day --閏年額外的一天 clc;clear; %獲取輸入的年、月、日 disp('該程序計算輸入具體的日期的天數'); str=datestr(now,'yyyy-mm-dd HH:MM:SS'); fprintf('系統當前時間:%s\n',str); year = input('請輸入當前年:'); month= input('請輸入當前月:'); day = input('請輸入當前日:'); %判斷當前年是否是閏年 % if mod(year,400) == 0 % leap_day = 1; % Years divisible by 400 are leap years % elseif mod(year,100) == 0 % leap_day = 0; % Other centuries are not leap years % elseif mod(year,4) == 0 % leap_day = 1; % Otherwise every 4th year is a leap year % else % leap_day = 0; % Other years are not leap years % end %方法二: leap_day = 0; if mod(year,100) == 0 if mod(year,400) == 0 leap_day = 1; end else if mod(year,4) == 0 leap_day = 1; end end %計算當前天在這一年的時間 day_of_year = day; %1.當前月份的天數 for ii = 1:month - 1 % 從一月到上個月總的天數 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 %告訴用戶 fprintf('時光荏苒,您輸入的日期 %2d/%2d/%4d是這一年的第 [%d] 天.\n', ... month, day, year, day_of_year);
效果:

