C 練習例項4 之mysql實現

2021-09-25 18:03:19 字數 1156 閱讀 4217

題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

程式分析:以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 ...