原创 五個運動員各兩個個判斷,每人對一個,

5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 A選手說:B第一,我第三。 B選手說:我第二,E第四。 C選手說:我第一,D第二。 D選手說:C最後,我第三。 E選手說:我第四,A第一。 比賽結束後,每位選手都說對了一半,請編程

原创 一組數字中只有兩個數單獨出現,其他數成對出現,找出這兩個數

在寫過一個數字單獨出現後,知道全體異或後成對出現的數字將抵消,這次將得到兩個單獨出現的數字的結果 得到兩個單獨出現數字異或的結果後,把兩個數字分離出來就可以了,但通過x^y得到其中一個數字需要另一個數字,無法分離,但是我們知道異或

原创 如何取出一個數的第一個非零比特位?

取出一個數的第一個非零比特位,最簡單的想法就是通過右移與1,記錄右移次數,然後將1左移回去。 int first_bit(int n) { int count = 0;//計數器 while(n^1)//第一位爲零

原创 跳臺階 與 矩形覆蓋 爲啥都是斐波那契數列

跳臺階與矩形覆蓋是同一道題 跳臺階 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 矩形覆蓋 我們可以用2*1的小矩形橫着或者豎着去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋

原创 冒泡排序函數

冒泡排序算法原理:         對sz個數進行排序,每次循環比較是將數字從第一個開始, 相鄰的 兩個數進行比較,不符合排序規則的進行交換值,共要經過sz-1次循環比 較,第i次循環比較時,有i-1個數已經排好,只需進行sz-i次比較就

原创 (智能)三子棋 電腦能看一步 要點小技巧才能贏

三子棋是個簡單的遊戲,學完數組後可以用數組和函數的知識寫一個三子棋 三子棋這個遊戲,如果雙方都會玩的話其實只會平局,比較無聊,但如何讓程序會玩就有點意思了 直接看代碼吧 頭文件  game.h #ifndef __GAME_H__ #de

原创 三維(多維)數組與 指針 sizeof strlen

多維數組可以看作是一維數組的首元素地址所組成的數組的首元素地址所組成的數組~~~ 而且同級別的元素在連續的內存空間中存儲 有點暈,來看個圖 看個代碼 輸出了arr[0]開頭的所有元素,因爲arr中存儲的是arr[0],加一是arr[

原创 其他數字都是成對出現,找出唯一單獨出現的數字------強大的異或

特別要求(使用位運算),這其實是個提示 找到一個不同的數字,正常思維就是拿出一個來依次比較麼,找到一樣的就找下一個,找不到就是你了, 要求用位運算,想了半天,那把‘==’用‘!’和‘^’組合用麼,相同的數字異或爲0,再取反就好了麼。 in

原创 運算符 優先級 結合性 用法 解釋

運算符優先級與結合性 優先級 運算符 名稱或含義 使用形式 結合方向 說明 1 後置++ 後置自增運算符 變量名++ 左到右   後置-- 後置自減運算符 變量名--   [ ] 數組下標

原创 函數調用返回與棧幀空間開闢回收

寫一段簡單的代碼 include<stdio.h> int Sum(int a, int b) { int ret = a + b; return ret; } int main() { int a = 3;

原创 數組、指針與函數指針

指針數組 指針數組是一個數組,數組的每一個元素都是一個指針。 數組指針 數組指針,是一個指針,每個指針可以指向一個數組。而且在定義數組指針事,指針所指向的數組大小和類型已經確定。 int (*parr)[4]——該指針指向一個四

原创 給一串數字,判斷是否連續

題在標題,思路在代碼 #include<stdio.h> int main() { int arr[] = { 8 , 3, 2, 6, 4, 5, 3, 7 }; //一組任意數字 int sz = sizeof(arr) / s

原创 行、列遞增的二維數組數字查找

二維數組四分查找 問題: 一個二維數組,但行遞增、單列遞增,編寫程序,在數組中查找某個數字(key),要求時間複雜度小於O(N)。 示例數組 1 3 4 2 4 5 4 5 6 分析: 對這個問

原创 linux find用法

Linux中find常見用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的參數; pathname: find

原创 一維數組 與指針 sizeof strlen int char

數組名在這兩種情況下表示整個數組 sizeof(數組名),測出整個數組的大小, &(數組名),表示整個數組的地址 sizeof(),接收括號內內容,測佔用內存空間大小,在編譯過程中完成,不訪問內存空間 strlen(),接收一個char地