演算法競賽入門 (一)語言篇 順序與分支結構

2022-06-24 12:18:08 字數 3378 閱讀 5853

1.1 算術表示式

#include #include 

intmain()

結果:5 6 1 1 

3/2指3處以2所得商值的整數部分

輸出3/2的值,並保留小數點後一位

【整數用 %d 輸出,浮點數用 %f輸出】

【整數 / 整數 = 整數    浮點數 / 浮點數 = 浮點數】

#include #include 

intmain()

結果:1    0.0   1.5

整數 - 浮點數 時,整數先變成浮點數,再減去浮點數

1.2 變數及其輸入

例題:輸入半徑r 高h 求圓柱表面積

#include #include 

#include

intmain()

const 是 constant 的縮寫,本意是不變的,不易改變的意思。在 c++ 中是用來修飾內建型別變數,自定義物件,成員函式,返回值,函式引數

演算法競賽中注意事項:

每行輸出均以回車符結束,包括最後一行

每行行首不應有空格,行末可以有

輸出的每兩個數或字串之間應以單個空格隔開

1.3 順序結構程式設計

此處有個問題,如果個位是0,反轉後應該輸出嗎?

演算法競賽的題目非常嚴密,如有題目漏洞,可向監考人員詢問,不可隨意假定

但此處要學會兩種處理方法:

三變數法————新加乙個新的變數

#include #include 

intmain()

1.4 分支結構程式設計例題1-4  雞兔同籠子   雞兔總數量n,總腿數m,求依次輸出雞兔的數目

#include #include 

intmain()

c語言中的短路:如果a || b 中,a為真,就不會計算b的值  【速度更快】c語言中的邏輯運算子都是短路運算子,一旦確定整個表示式的值,就不再計算

1-5 三整數排序

輸入 a  ,b,c 從大到小排序後輸出

#include #include 

intmain()

else

if(a >=c)

else

}else

else

if(b >=c )

else

}return0;

}

資料型別實驗實驗一

實驗二

#include #include 

intmain()

實驗三

#include #include 

#include

intmain()

計算過程中,系統不會報錯

實驗四

#include #include 

實驗五

#include #include 

#include

intmain()

無論注釋那個,都會報錯實驗六:

#includeint

main()

輸入輸出實驗

#include #include 

#include

intmain()

習題:1.輸入3個整數,計算平均值,保留三位小數

#include #include 

intmain()

2.溫度,輸入華氏攝氏度f,輸出對應的攝氏溫度c,保留三位,c = 5 (f-32)/9

1 printf輸出float和double都可以用%f,double還可以用%lf。

2 scanf輸入float用%f,double輸入用%lf,不能混用。

#include #include 

intmain()

3.1+..+n

#include #include 

intmain()

printf("%d

",sum);

return0;

}

4.正弦和余弦

#include #include 

#include

intmain()

5.判斷閏年

公曆紀年法中,能被 4 整除的大多是閏年,但能被 100整除而不能被 400整除的年份不是閏年,如 2023年是平年,2000 年是閏年

#include 

#include

int main()

elseelse

}return 0;

}

演算法競賽入門與高階 (四)二分

在乙個單調有序的集合中查詢元素,每次將集合分為左右兩部分,判斷解在哪個部分中並調整集合上下界,重複直到找到目標元素。例如 在以下序列中查詢55 binary search 返回bool值 判斷查詢元素是否存在 lower bound 返回可插入的最小位置的迭代器 即返回第乙個符合條件的元素位置 up...

演算法競賽與入門經典 (第一章)

1 1 平均數輸入3個整數,輸出他們的平均值,保留三位小數 include include includeusing namespace std int main 1 2 溫度 include include includeusing namespace std int main 1 3 連續和輸入...

演算法競賽入門經典習題與解答 第一章

1.1.1排序效能問題 c語言的函式qsort,c 中的sort 直接傳入排序函式 以及傳入functor物件的sort函式 以及時間。includeusing namespace std define for i,a,b for int i a i const int n 10000000 str...