折半查詢法 譚浩強習題
#include<stdio.h> #include<stdlib.h> int main() { int a[15], x; puts("請按從大到小輸入15個數:"); for (int i = 0; i < 15; i++) scanf_s("%d", &a[i]); int low, high, mid; for (low = 0, high = 14, puts("輸入一個數:"), scanf_s("%d", &x); low <= high;) { mid = (low + high) / 2; if (x > a[mid]) high = mid - 1; else if (x < a[mid]) low = mid + 1; else { printf("%d is No.%d number!\n", x, mid + 1); break; } } if (x != a[mid]) printf("無此數\n"); system("pause"); return 0; }
相關推薦
折半查詢法 譚浩強習題
#include<stdio.h> #include<stdlib.h> int main() { int a[15], x; puts("請按從大到小輸入15個數:"); for (int i = 0; i < 15; i++) scanf_s("%d"
譚浩強 習題7-16 十六進位制化十進位制
#include<iostream> using namespace std; void jinzhi(char x[]) { int sum = 0, t, n = (int)strlen(x)-1; for (int i =n; i >= 0; i--) { if (
譚浩強 C程序設計 8.11寫一函數用起泡法對輸入的個字符按由小到大的順序排列。
oct mmm rpg m3u pri otg avr smm image #include <stdio.h> int main(){ void maoPaoSort(char str[]); char arr[10]; p
譚浩強 c程序設計 8.17用遞歸法將一個整數n轉換成字符串。例如,輸入486,應輸出字符串"486"。n的位數不確定,可以是任意位數的整數。
tco xsl bof hcl mku owb kit gym code 8.17用遞歸法將一個整數n轉換成字符串。例如,輸入486,應輸出字符串"486"。n的位數不確定,可以是任意位數的整數。 #include <stdio.h>char str1[20]
譚浩強 c++程序設計第一章課後習題 第7題
++ ges 類型 color iostream ret urn 函數 style #include <iostream> using namespace std; int main() { int a,b,c; int f(int x,in
譚浩強程式語言設計習題
譚浩強程式語言設計習題 題目描述 有3個整數abc,由鍵盤輸入 ,輸出其中最大的數。 想法及步驟描述 首先宣告整形變數abc,後利用scanf函式輸入abc的值,通過巢狀式if函式來比較abc三個值的大小,最後利用printf函式輸出三個中的最大值。 #include<st
【C++習題筆記】譚浩強C++程式設計(第三版)第四章
1. 寫兩個函式,分別求兩個整數的最大公約數和最小公倍數,用主函式呼叫這兩個函式,並輸出結果 //兩個函式求最大公約數和最小公倍數 #include <iostream> using namespace std; int main() { int a,b,c,d; int max
【C++習題筆記】譚浩強C++程式設計(第三版)第三章
1. 表示式和表示式語句的區別: 主要參考自:https://segmentfault.com/q/1010000005850429/a-1020000005856050 表示式+分號=表示式語句,一般用表示式語句時只關心它的作用,而不關心它的值,如put("hello"),只關心該語
譚浩強 紅寶書 章節6 課後習題4
題目:有一個已排好序的陣列,要求輸入一個數後,按原來排序的規律將它插入陣列中 像這種題目給的條件有點模糊,與一些指示明確的比賽題目不一樣。 所以我們先暫定一個升序陣列 {1,2,4,5,8}, 因為有5個元素,所以我們定義時按照題目要求,應該給其多加一個元素。也就是a[6]={1,2,4,5
【C語言】課後習題-譚浩強教授第4版
第8章 指標 8-1 用指標實現,輸入三個整數,按由小到大順序輸出。 自己的程式碼 #include <stdio.h> void main() { int *p1, *p2, *p3,*temp; int a, b, c; while (scanf(
我的譚浩強版《c++程式設計》習題答案參考(新近新增第六章指標,將繼續)
我正在學習譚浩強的《c++程式設計》,這是我所學到的章節所做的習題,希望能記錄下程式設計學習的進步過程。每做完一章的練習,就把它們放上網。 《c++程式設計
C++程式設計(第二版)譚浩強----程式題課後習題答案第三章
2.#define _USE_MATH_DEFINES #include <iostream> #include <iomanip> #include <cmath> using namespace std; int main() {
譚浩強 C程序設計 8.10寫一函數,輸入一行字符,將此字符串中最長的單詞輸出。
就會 譚浩強 設計 nbsp get urn log i++ 代碼 代碼量稍微一大,就會出現bug,浪費很多時間,繼續努力。 #include <stdio.h> void main(){ void maxLen(char str[50]);
折半查詢法實現
折半查詢法的思想是:減少查詢序列的長度,分而治之的進行關鍵字的查詢。 方法一:迭代實現 #include <stdio.h> int bin_search(int str[],int size,int key) { int low,mid,high; low
折半查詢法(基於有序陣列)
折半查詢的方法優點: 比較次數少,查詢速度快,平均效能好,要求待查表為有序表 儲存結構一定是順序結構 程式碼實現: #include <stdio.h> #include <stdlib.h> int main() { int arr[] = { 1, 2, 3, 4
折半查詢法——在有序整形陣列中尋找
#include<stdio.h> #include<Windows.h> int main() { int arr[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int mid = 0
Java 利用泛型實現折半查詢法
泛型到底厲害在什麼地方? 可以大大減少我們的程式碼量,可以把我們從重複工作中解放出來,使我們更加專注於核心程式碼的實現,核心演算法的編寫。 舉一個最簡單的例子: 我們在學習資料結構時,為了理解方便和簡化程式設計,通常都使用整數作為分析的物件。利用Java的泛型機制,只需要將int型別
猜數字小遊戲+折半查詢法(二分法)+三次密碼輸入+字母大小寫轉換
猜數字小遊戲: #include<stdio.h> #include<time.h> #include<stdlib.h> /* 猜數字小遊戲 */ int menu() { printf("**********1.開始遊戲**********\n
譚浩強 C紅寶書 第六章 第14題
兩個字串用gets函式讀入。輸出的正數或者負數的絕對值應是相比較的兩個字串相應字元的ASCII碼的差值。例如“A”與“C”相比,由於“A” < “C”,應該輸出負數,由於“A”與”C”的ASCII嘛差值為2,因此應該輸出“-2”。同理:“And”和“Aid”比較,根據第二個字元比較的結
譚浩強C紅寶書第六章第13題
編一個程式,將兩個字串連線起來,不要用strcat函式 #include<stdio.h> #include<string.h> int main() { char s1[80],s2[40]; int len1,len2,i; gets(