猜數字 模擬3次密碼輸入 折半查詢

2021-09-27 12:20:13 字數 1904 閱讀 4840

1.完成猜數字遊戲(1-100)

思路:主要可分為兩部分,一部分是是否進入遊戲,可自己設定進入條件,退出條件,以及輸入錯誤條件,可形成乙個函式。

另一部分是進入遊戲後,使用者猜的數字是否猜中,此處可利用隨機數來進行核對,遊戲也比較有趣,在猜的過程中,猜中就退出,沒中就繼續猜直至猜中跳出。

**:

#define _crt_secure_no_warnings

#include

#include

#include

intmenu()

void

guess()

else

if(num>toguess)

//猜對了就跳出迴圈

else}}

intmain()

else

if(input ==0)

else

}system

("pause");

return0;

}

結果:

題目:編寫**模擬三次密碼輸入的場景。最多只能輸入三次密碼,密碼正確,提示「登陸成功」,密碼錯誤,可以重新輸入,最多輸入三次。三次均錯,則退出程式

思路:由於題目中說到最多只能輸入3次,可以想到利用for迴圈,迴圈3次,可設定迴圈變數,只要迴圈變數<=3說明密碼輸入正確就退出,說明登陸成功,若》3則說明沒有一次成功,登陸失敗

**:

#define _crt_secure_no_warnings

#include

#include

intmain()

;printf

("i請輸入密碼:");

scanf

("%s"

, passwd)

;//密碼正確提示輸入成功if(

strcmp

(passwd,

"123456")==

0)//輸入與密碼不一致,提示輸入錯誤

else

}//當i=3,說明3次機會用完,密碼都輸入錯誤,因為如果成功,就break出去,i不可能為3,提示登陸失敗

if(i ==3)

system

("pause");

return0;

}

結果:

輸入正確:

3次輸入都不正確:

題目:寫**可以在整型有序陣列中查詢想要的數字,找到了返回u下標,找不到返回-1(折半查詢)

**:

#include

#include

intbinarysearch

(int x,

int arr,

int n)

else

if(x>mid)

else

return mid;

}return-1

;}intmain()

;//sizeof(a)表示a所佔空間的位元組,在此處sizeof(arr)代表arr陣列佔記憶體空間位元組

int length =

sizeof

(arr)

/sizeof

(arr[0]

);int result=

binarysearch(6

, arr, length)

;printf

(" the result is %d"

, result)

;system

("pause");

return0;

}

LeetCode 猜數字大小(折半查詢)

我們正在玩乙個猜數字遊戲。遊戲規則如下 我從 1 到 n 選擇乙個數字。你需要猜我選擇了哪個數字。每次你猜錯了,我會告訴你這個數字是大了還是小了。你呼叫乙個預先定義好的介面 guess int num 它會返回 3 個可能的結果 1,1 或 0 1 我的數字比較小 1 我的數字比較大 0 恭喜!你猜...

C語言 8 猜數字遊戲 三次密碼輸入模擬

猜數字遊戲 define crt secure no warnings 1 include include include includevoid menu void game else if guess ret else int main while 0 system pause return 0...

二分查詢演算法(折半查詢)猜數字

二分查詢演算法是建立在有序陣列基礎上的 在未接觸到二分查詢演算法時,我們對陣列進行遍歷,每個元素進行比較,即順序查詢。二分查詢較順序查詢更優,因為這種演算法每一次比較都使查詢範圍縮小一半。演算法思想為 查詢過程從陣列的中間元素開始,如果中間元素正好是要查詢的元素,則查詢過程結束 如果某一待查詢元素大...