欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言算法練習(xí)之抓交通肇事犯

 更新時(shí)間:2022年03月23日 17:08:32   作者:飛向星的客機(jī)  
這篇文章主要該大家分享C語(yǔ)言算法抓交通肇事犯的練習(xí),文章主要通過(guò)描述抓交通肇事犯得問(wèn)題然后確定程序框架將結(jié)果運(yùn)算出來(lái),下面來(lái)看詳細(xì)內(nèi)容吧,需要的朋友可以參考一下

1. 問(wèn)題描述

一輛卡車違反交通規(guī)則,撞人后逃跑。現(xiàn)場(chǎng)有三人目擊該事件,但都沒(méi)有記住車號(hào),只記下車號(hào)的一些特征。

甲說(shuō):牌照的前兩位數(shù)字是相同的;

乙說(shuō):牌照的后兩位數(shù)字是相同的,但與前兩位不同;

丙是數(shù)學(xué)家,他說(shuō):四位的車號(hào)剛好是一個(gè)整數(shù)的平方。

請(qǐng)根據(jù)以上線索求出車號(hào)。

2. 題目分析

按照題目的要求造出一個(gè)前兩位數(shù)相同、后兩位數(shù)相同且相互間又不同的 4 位整數(shù),然后判斷該整數(shù)是否是另一個(gè)整數(shù)的平方。

即求一個(gè)四位數(shù) a 1、a 2 、a 3、 a 4,滿足如下的條件:

3. 算法設(shè)計(jì)

該題目是數(shù)值計(jì)算問(wèn)題,求解不定方程。

對(duì)于這種求解不定方程組的問(wèn)題,一般采用窮舉循環(huán)。

首先設(shè)計(jì)雙層循環(huán)窮舉出所有由前兩位數(shù)和后兩位數(shù)組成的 4 位數(shù)車牌;

然后在最內(nèi)層窮舉出所有平方后值為 4 位數(shù)并且小于車牌號(hào)的數(shù);

最后判斷該數(shù)是否與車牌相等,若相等則打印車牌。

4. 流程框架

程序流程圖如下所示

?? 判斷車牌 k 是否為某個(gè)整數(shù)的平方

再次利用循環(huán)來(lái)實(shí)現(xiàn),循環(huán)變量 temp 求平方與車牌號(hào) k 比較,如相等則找到車牌號(hào)。

優(yōu)化算法,temp 的初值應(yīng)該從 31 開(kāi)始,因?yàn)樾∮?0的數(shù)的平方小于 4 位數(shù),因此該層循環(huán)為最內(nèi)層循環(huán),對(duì)每一個(gè)車牌號(hào)均做如此操作。

5. 代碼實(shí)現(xiàn)

完整代碼??

int main()
{
	int i = 0;//i代表前兩位車牌號(hào)數(shù)字

	int j = 0;//j代表后兩位車牌號(hào)數(shù)字

	int k = 0;//k代表車牌號(hào)

	int temp = 0;

	for (i = 0; i <= 9; i++)
	{
		for (j = 0; j <= 9; j++)
		{
			//判斷前兩位數(shù)和后兩位數(shù)字是否不同
			if (i != j)
			{
				//組成4位車牌號(hào)
				k = 1000 * i + 100 * i + 10 * j + j;

				//判斷k是否是某個(gè)數(shù)的平方,若是則輸出k
				for (temp = 31; temp <= 99; temp++)
				{
					if (temp * temp == k)
					{
						printf("車牌號(hào)為:%d\n", k);
					}
				}
			}
		}
	}
	return 0;
}

運(yùn)行結(jié)果??

6. 算法升級(jí)

針對(duì)上述程序如果已經(jīng)找到相應(yīng)的車牌號(hào),請(qǐng)思考循環(huán)是否還需要繼續(xù)呢? 答案是肯定的,因?yàn)樗惴ㄔ谠O(shè)計(jì)窮舉循環(huán)的時(shí)候,并沒(méi)有在找到車牌的時(shí)候就退出循環(huán),而是繼續(xù)窮舉其他 i、j 的情況。 我們可以改進(jìn)算法,設(shè)置一個(gè) 標(biāo)識(shí)變量,該變量初值為 0,一旦找到車牌號(hào),則改變?cè)摌?biāo)識(shí)變量的值為 1,每次循環(huán)判斷一下標(biāo)識(shí)變量的值,如果值為 1 則退出所有循環(huán),這樣能有效地減少循環(huán)次數(shù)。

改進(jìn)程序如下??

int main()
{
	int i = 0;//i代表前兩位車牌號(hào)數(shù)字

	int j = 0;//j代表后兩位車牌號(hào)數(shù)字

	int k = 0;//k代表車牌號(hào)

	int temp = 0;

	int flag = 0;//標(biāo)識(shí)符置為0

	for (i = 0; i <= 9; i++)
	{
		//判斷標(biāo)識(shí)變量
		if (flag) 
			break;

		for (j = 0; j <= 9; j++)
		{
			//判斷標(biāo)識(shí)變量
			if (flag)
				break;

			//判斷前兩位數(shù)和后兩位數(shù)字是否不同
			if (i != j)
			{
				//組成4位車牌號(hào)
				k = 1000 * i + 100 * i + 10 * j + j;

				//判斷k是否是某個(gè)數(shù)的平方,若是則輸出k
				for (temp = 31; temp <= 99; temp++)
				{
					if (temp * temp == k)
					{
						printf("車牌號(hào)為:%d\n", k);
						flag = 1; //找到車牌后,標(biāo)識(shí)變量置為1
						break; //強(qiáng)制退出到最內(nèi)層循環(huán)
					}
				}
			}
		}
	}
	return 0;
}

到此這篇關(guān)于C語(yǔ)言算法練習(xí)之抓交通肇事犯的文章就介紹到這了,更多相關(guān)C語(yǔ)言 抓交通肇事犯內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C 讀取ini文件的實(shí)例詳解

    C 讀取ini文件的實(shí)例詳解

    這篇文章主要介紹了C 讀取ini文件的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • 詳解C++11的std::addressof源碼解析

    詳解C++11的std::addressof源碼解析

    std::addressof的作用是獲取一個(gè)對(duì)象的實(shí)際地址,即使這個(gè)對(duì)象的&操作符已被重載,本文詳細(xì)的介紹了源碼解析,感興趣的可以了解一下
    2021-06-06
  • Qt自定義控件實(shí)現(xiàn)多彩色儀表盤(pán)

    Qt自定義控件實(shí)現(xiàn)多彩色儀表盤(pán)

    這篇文章主要為大家詳細(xì)介紹了Qt自定義控件實(shí)現(xiàn)多彩色儀表盤(pán),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C語(yǔ)言隊(duì)列和應(yīng)用詳情

    C語(yǔ)言隊(duì)列和應(yīng)用詳情

    這篇文章主要介紹了C語(yǔ)言隊(duì)列和應(yīng)用詳情,文章將讓大家掌握掌握隊(duì)列的原理和作用、掌握隊(duì)列的寫(xiě)法、掌握隊(duì)列在產(chǎn)品中的應(yīng)用,需要的朋友可以參考一下
    2022-03-03
  • C++存儲(chǔ)持續(xù)性生命周期原理解析

    C++存儲(chǔ)持續(xù)性生命周期原理解析

    這篇文章主要為大家介紹了C++存儲(chǔ)持續(xù)性生命周期原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 在C語(yǔ)言中比較兩個(gè)字符串是否相等的方法

    在C語(yǔ)言中比較兩個(gè)字符串是否相等的方法

    這篇文章主要介紹了在C語(yǔ)言中比較兩個(gè)字符串是否相等的方法,分別介紹了strcmp()函數(shù)和strcasecmp()函數(shù),注意功能區(qū)分,需要的朋友可以參考下
    2015-08-08
  • C++實(shí)現(xiàn)LeetCode(106.由中序和后序遍歷建立二叉樹(shù))

    C++實(shí)現(xiàn)LeetCode(106.由中序和后序遍歷建立二叉樹(shù))

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(106.由中序和后序遍歷建立二叉樹(shù)),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++類成員函數(shù)中的名字查找問(wèn)題

    C++類成員函數(shù)中的名字查找問(wèn)題

    這篇文章主要介紹了C++類成員函數(shù)中的名字查找問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++遞歸刪除一個(gè)目錄實(shí)例

    C++遞歸刪除一個(gè)目錄實(shí)例

    這篇文章主要介紹了C++遞歸刪除一個(gè)目錄的實(shí)現(xiàn)方法,涉及到目錄的操作及遞歸算法的應(yīng)用,需要的朋友可以參考下
    2014-10-10
  • C++類的定義與實(shí)現(xiàn)

    C++類的定義與實(shí)現(xiàn)

    這篇文章主要介紹了C++類的定義與實(shí)現(xiàn),違章圍繞C++類的定義的相關(guān)資料展開(kāi)全文內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-01-01

最新評(píng)論