題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
程式分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大於3時需考慮多加一天。
drop function if exists test;
create function test( year int, month int, day int)
returns int
begin
declare sum ,leap int default 0;
-- 判斷輸入的日期是否正確
if date_format(concat(year,'-',month,'-',day),'%y%m%d') is null then
return null;
end if ;
case month
when 1 then set sum=0;
when 2 then set sum=31;
when 3 then set sum=59;
when 4 then set sum=90;
when 5 then set sum=120;
when 6 then set sum=151;
when 7 then set sum=181;
when 8 then set sum=212;
when 9 then set sum=243;
when 10 then set sum=273;
when 11 then set sum=304;
when 12 then set sum=334;
end case ;
set sum=sum+day;
if year%400 = 0 or (year%4=0 and year%100<>0) then
set leap=1;
else
set leap=0;
end if;
if leap=1 and month>2 then
set sum=sum+1;
end if;
return sum;
end;
C 練習例項3 之mysql實現
題目 乙個整數,它加上100後是乙個完全平方數,再加上168又是乙個完全平方數,請問該數是多少?程式分析 假設該數為 x。1 則 x 100 n2,x 100 168 m2 2 計算等式 m2 n2 m n m n 168 3 設定 m n i,m n j,i j 168,i 和 j 至少乙個是偶數...
C 練習例項41 50
41.題目 學習static定義靜態變數的用法。include int main void fun 42.題目 學習使用auto定義變數的用法。include int main return 0 43.題目 學習使用static的另一用法。include int main return 0 44.題...
C 練習例項51 60
51.題目 學習使用按位與 程式分析 0 0 0 0 1 0 1 0 0 1 1 1 include int main 52.題目 學習使用按位或 程式分析 0 0 0 0 1 1 1 0 1 1 1 1 include int main 53.題目 學習使用按位異或 程式分析 0 0 0 0 1 ...