亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言算法中如何解決佩奇借書問題

發布時間:2022-03-24 09:16:39 來源:億速云 閱讀:135 作者:小新 欄目:開發技術

小編給大家分享一下C語言算法中如何解決佩奇借書問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1. 問題描述

佩奇有5本新書,要借給A、B、C這3位小朋友,若每人每次只能借1本,則可以有多少種不同的借法?

2. 題目分析

本題屬于數學當中常見的排列組合問題,即求從 5 個數中取 3 個不同數的排列組合的總數。  我們可以將 5 本書進行 1~5 的編號,A、B、C 3個人每次都可以從 5 本書中任選 1 本,即每人都有 5 種選擇,由于 1 本書不可能同時借給一個以上的人,因此只要這 3 個人所選書的編號不同,即為一次有效的借閱方法。

3. 算法設計

對于每個人所選書號,我們可以采用窮舉循環來實現,即從每個人可選書號(1、2、3、4、5)的范圍內進行窮舉,從而得到可行的結果。  對第 1 個人的選擇,我們可以用循環將其列出::for (a = 1; a <= 5; a++),同理對于第 2 個人、第 3 個人可以用同樣的方法。  由于一本書只能借給一個人,所以第 2 個人的選擇會受到第 1 個人的限制,最后一個人的選擇會受到第 2 個人的限制,即后面的選擇都是在前面選擇的前提下進行的,所以可采用循環的嵌套來解決問題。  利用循環解決問題的時候,找到循環的三要素:循環變量的初值、循環的控制條件,以及使循環趨于結束的循環變量值的改變是進行編程的關鍵。

4. 代碼實現

完整代碼????

int main()
{
	int a, b, c = 0; //a、b、c分別用來記錄3個人所選新書編號
	int cnt = 0; //用來統計借閱的方法

	printf("A、B、C 三個人所選書號分別為:↓\n");

	for (a = 1; a <= 5; a++) //控制A借書編號
	{
		for (b = 1; b <= 5; b++) //控制B借書編號
		{
			for (c = 1; c <= 5; c++) //控制C借書編號
			{
				if ((a != b) && (a != c) && (c != b)) //控制有效借閱組合
				{
					printf("A:%d號  B:%d號  C:%d號  |  ", a, b, c);
					cnt++;

					if (cnt % 4 == 0) //打印4列在屏幕上顯示
					{
						printf("\n");
					}
				}
			}
		}
	}
	printf("總共有%d種有效的借閱方法\n", cnt); //輸出有效的借閱方法總數

	return 0;
}

運行結果????

C語言算法中如何解決佩奇借書問題

本題的輸出結果有一個條件限制,即 3 個人所選書號各不相同,所以在輸出語句前只要用一個 if 語句 if(a!=b && a!=c && c!=b)判斷即可。

C語言算法中如何解決佩奇借書問題

5. 算法升級

對于原程序中的第三層 for 循環來說不管 a、b 的取值是否相同,循環都要重復進行 5 次。  如果A 和 B 所選書號相同,那么無論 C 選什么書號都是無效的借閱方法。因此在執行第 3 個循環之前可先行判定A、B 兩人的編號是否相同,進而提高程序效率。

C語言算法中如何解決佩奇借書問題

修改后的程序在進入循環體之前首先判斷a、b的取值,如果兩者取值相同,內層循環無須重復執行5次便可結束。

完整代碼????

C語言算法中如何解決佩奇借書問題

看完了這篇文章,相信你對“C語言算法中如何解決佩奇借書問題”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永城市| 巩留县| 江华| 洪湖市| 盖州市| 榆中县| 梧州市| 江阴市| 张家口市| 讷河市| 兴城市| 汶上县| 台安县| 清水县| 武夷山市| 诸暨市| 繁峙县| 阿拉善盟| 鞍山市| 曲靖市| 南陵县| 郎溪县| 九龙县| 从江县| 玉门市| 靖江市| 麻城市| 昭苏县| 屯昌县| 荃湾区| 山阴县| 临汾市| 华蓥市| 枝江市| 开原市| 延安市| 夏津县| 米泉市| 社旗县| 远安县| 堆龙德庆县|