C語言習題5

2021-09-03 02:53:57 字數 1592 閱讀 4946

1.完成猜數字遊戲。

#include#includeint main()

if (num > a)

scanf("%d", &num);

} if (num == a)

}

注意:隨機數種子的設定是很重要的,必不可少的。如果缺少隨機數種子,那麼多次執行程式後,就會發現產生的隨機數與前幾次產生的一樣,這樣就達不到隨機的目的。

2.寫**可以在整型有序陣列中查詢想要的數字,找到了返回下標(折半查詢)

#includeint main()

; int left = 0;

int num;

int right = sizeof(a) / sizeof(a[0]) - 1;

int mid = 0;

printf("請輸入你想要查詢的數:\n");

scanf("%d",&num);

while (left <= right)

else if (num > a[mid])

else

break;

} if(left<=right)

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

}

**sizeof(arr) / sizeof(arr[0])代表的意思是求陣列arr的長度,也就是元素個數。其中sizeof(arr)意思是:求取陣列arr所佔的總的位元組數,也就是所佔的記憶體空間的大小。sizeof(arr[0])意思是:求乙個陣列元素所佔的位元組數。所以它們相除就得到陣列的長度。

使用折半查詢時,要首先設定三個引數:left、right、mid。分別代表陣列的最左邊、最右邊以及中間。我們輸入要查詢的數num後,首先用if語句判定num的取值範圍,如果nummid的左邊,則left不變,將mid-1的值賦給right,如果是在mid的右邊,則right不變,將mid+1的值賦給left,直到left<=right

注意:使用折半查詢必須保證陣列是有序的。

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

#includeint main()

if (key == password)

return 0;

}

4.編寫乙個程式,可以一直接收鍵盤字元,如果是小寫字元就輸出對應的大寫字元,如果接收的是大寫字元,就輸出對應的小寫字元,如果是數字不輸出。
#includeint main()

if (a >= 'a'&&a <= 'z')

}return 0;

}

C語言 習題

1.c語言程式設計中,巨集定義有效範圍從定義處開始,到原始檔結束處結束。但可以用來提前解除巨集定義作用的是 d a.ifndef b.endif c.undefined d.undef 2.c語言編譯系統對巨集定義的處理是 b a.和其它c語言語句同時進行 b.在對其成分正式編譯之前處理的 c.在程...

C語言習題

給你n根火柴棍,你可以拼出多少個形如 a b ca b c 的等式?等式中的aa bb cc是用火柴棍拼出的整數 若該數非零,則最高位不能是00 用火柴棍拼數字0 90 9的拼法如圖所示 注意 1 加號與等號各自需要兩根火柴棍 2 如果a b,a b,則a b c與b a cb a c視為不同的等式...

C語言程式設計課後習題 第5章

從鍵盤任意輸入乙個實數,不使用計算絕對值函式程式設計計算並輸出該實數的絕對值 include include intmain printf f n x return0 從鍵盤任意輸入乙個整數,程式設計判斷它的奇偶性 include include intmain else return0 在例3.8...