演算法競賽入門經典第二版學習 第三章習題

2021-07-02 21:15:18 字數 1220 閱讀 9753

作為小小小小白,自學這本書,編寫的程式可能會有很多需要改進的地方,希望大神們多提意見~謝謝

習題3-1 得分

#include #include #define max 100

int main()

printf("%d\n",sum);

return 0;

}

剛看到這道題的時候想的有些複雜,想要按x擷取不同段存入陣列,無奈不太會存……後來仔細想想還是用這種方法比較簡單

習題3-2 分子量

#include int main()

else if(s[i]=='h')

else if(s[i]=='o')

else if(s[i]=='n')

} printf("%.3fg/mol\n",(c*12.01)+(h*1.008)+(o*16.00)+(n*14.01));

return 0;

}

依次查詢chon,如果緊接的不是原子名或字元結尾,則就是數字。如果緊接的是原子名或字元結尾,這個原子個數本身+1.

程式設計的時候遇到的一些問題,比如沒有注意到結尾的\0,還有邏輯上的與或最開始寫的時候沒寫對。看來程式設計的時候還是要按步驟不能怕麻煩,不然自己就暈了。

習題3-3 數數字

#include int main()

} printf("%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",a,b,c,d,e,f,g,h,j,k);

return 0;

}

好久不用switch語句了,複習一下。注意字串中數字和整型數字並不是一樣的。

習題3-4 週期串

#include #include #define max 1000

int main()

{ char s[max];

memset(s,0,sizeof(s));

scanf("%s",s);

int k=1,i,len=strlen(s);

for(k;k<=(len/2);k++)

{ if(len%k==0)

{ for(i=0; i

後來得知了這個週期的暴力求解法,很好用!又學會了一招。

注意這個題裡break的使用。

演算法競賽入門經典(第二版) 習題

習題2 5 include int main if 10 n b 10 b 5 確定末位四捨五入的情況 printf d 10 n b 1 else printf d 10 n b return 0 注意 要及時輸出,防止n越界 習題2 6 include void result int num,i...

《演算法競賽入門經典(第二版)》 隨筆

c語言中整數值用 d輸出,實數 浮點數 用 f輸出。kiss原則 keep it and stupid 獲得程式執行時間 包括鍵盤輸入時間 include printf 執行時間 2f n double clock clocks per sec 輸入個數未知時 while scanf d x 1 對...

《演算法競賽入門經典(第二版)》習題(二)

習題 2 1 水仙花數 輸出100 999中的所有水仙花數。若3位數abc滿足abc a b c 則稱其為水仙花數。例如 153 1 5 3 所以153是水仙花數。include intmain return0 習題 2 2 韓信點兵 相傳韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三...