題目描述:
有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的,則規定它們之間的天數為兩天。解題思路:
這種求日期之間相差天數的題目有乙個很直接的思路,即令日期不斷加1天,直到第乙個日期等於第二個日期為止,即可統計出答案。如果想要加快速度,只需要先把第乙個日期的年份不斷加1,直到與第二個日期的年份相差為1為止。
#include
int month[13]
[2]=
,,,,
,,,,
,,,,
};bool
isleap
(int year)
intmain()
y1 = time1 /
10000
; m1 = time1 %
10000
/100
; d1 = time1 %
100;
y2 = time2 /
10000
; m2 = time2 %
10000
/100
; d2 = time2 %
100;
int ans =1;
// 加速計算相差年份
while
(y1 < y2 -1)
// 統計相差天數
while
(y1 < y2 || m1 < m2 || d1 < d2)
if(m1 ==13)
ans++;}
printf
("%d\n"
, ans);}
return0;
}
問題描述:
將乙個p進製數x轉換為十進位制數y。求解過程一般分為以下兩步:
(1) 將p進製數x轉換為十進位制數y。
int y =
0, product =1;
while
(x !=0)
(2) 將十進位制數y轉換為q進製數z(除基取餘法)。
int z[40]
, num =0;
dowhile
(y !=0)
;
這樣z陣列從高位z[num - 1]到低位z[0]即為q進製z,進製轉換完成。值得注意的是,**中使用do…while語句而不是while語句的原因是:如果十進位制數y恰好等於0,那麼使用while語句將使迴圈直接跳出,導致結果出錯(正確結果應當是陣列z中存放了z[0] = 0)。 資料元素 ch3 測試
1.4個元素按a,b,c,d順序連續進s棧,進行pop s,x 運算後,x的值是 c d a.ab.b c.cd.d 1 進棧 push 演算法 若top n時,則給出溢位資訊,作出錯處理 進棧前首先檢查棧是否已滿,滿則溢位 不滿則作 置top top 1 棧指標加1,指向進棧位址 s top x,...
C語言知識串講(CH3)
掌握 1.資料輸出 putchar 函式,printf函式 2.資料輸入 getchaar函式,scanf函式。1 結構化程式設計所規定的三種基本控制結構是 順序 選擇 迴圈 2 有如下語句 scanf a d,b d,c d a,b,c 為使變數a 2,b 3,c 4,從鍵盤輸入資料的正確形式應是...
ch3 數學 尤拉函式
1.自然語言描述 自然數n的尤拉函式指1 n之間所有與n互質的數的個數 比如,6的尤拉函式值為2。尤拉函式表示式 phi n n 1 1 p1 1 1 p2 1 1 p3 1 1 pk p為質因子的底數。用容斥原理證明 展開這個表示式,phi n n n p1 n p2 n pk n p1p2 n ...