10 1趣味陣列

2021-07-11 13:31:43 字數 2405 閱讀 4061

1>狼追兔子

問題描述

乙隻兔子躲進了10個環型分布的洞中的乙個.這只純狼在第乙個洞中沒有找到兔子,就隔了乙個洞,到第三個洞去找;也沒有找到,就隔兩個洞,到第六個洞找,以後沒多乙個洞去找兔子.這樣下去,一直找不到兔子,請問兔子可能在那些洞中??

//狼追兔子的問題

演算法:有限的窮舉搜尋

#if 0

int main(int argc,char*argv)

; int i=0;

int n=0;

while (i<1000)

for (int j=0; j<10; j++)

}return0;}

#endif

2>選美比賽

問題描述 : 在選美大獎賽的半決勝賽現場,有一批選手參加比賽,比賽的規則是最後得分越高,名次越低。當半決決賽結束時,要在現場按照選手的出場順序宣布最後得分和最後名次,獲得相同分數的選手具有相同的名次,名次連續編號,不用考慮同名次的選手人數。例如

選手序號: 1,2,3,4,5,6,7

選手得分: 5,3,4,7,3,5,6

則輸出名次為: 3,1,2,5,1,3,4

請程式設計幫助大獎賽組委會完成半決賽的評分和排名工作。

首先要宣告乙個結構體

struct player ;
//根據分數將物件從小到大排序

void sortscore(struct player psn,int n)}}

}//根據已經排好的結構體陣列,將每名設定名次

void setrand(struct player psn,int n)

else

// psn[i]與psn[i-1]的名詞相同

psn[i].range=psn[i-1].range;

}}//按照選手序號重新排序

void sortnum(struct player psn,int n)}}

}void sortrange(struct player psn,int n)

int main (int argc,char**argv),,,,,,};

sortrange(psn, 7);

/*** 輸出結果

*/printf("num score range\n");

for (int i=0; i<7; i++)

}

3>平分七筐魚

問題描述:

甲、乙、丙三位魚夫出海打魚,他們隨船帶了21只籮筐。當晚返航時,他們發現有七筐裝滿了魚,還有七筐裝了半筐魚,另外七筐則是空的,由於他們沒有秤,只好通過目測認為七個滿筐魚的重量是相等的,7個半筐魚的重量是相等的。在不將魚倒出來的前提下,怎樣將魚和筐平分為三份?

問題分析

根據題意可以知道:每個人應分得七個籮筐,其中有3.5筐魚。採用乙個3*3的陣列a來表示三個人分到的東西。其中每個人對應陣列a的一行,陣列的第0列放分到的魚的整筐數,陣列的第1列放分到的半筐數,陣列的第2列放分到的空筐數。由題目可以推出:

**。陣列的每行或每列的元素之和都為7;

。對陣列的行來說,滿筐數加半筐數=3.5;

。每個人所得的滿筐數不能超過3筐;

。每個人都必須至少有1 個半筐,且半筐數一定為奇數**

對於找到的某種分魚方案,三個人誰拿哪乙份都是相同的,為了避免出現重複的分配方案,可以規定:第二個人的滿筐數等於第乙個人的滿筐數;第二個人的半筐數大於等於第乙個人的半筐數。

#include

int a[3][3],count;

int main()}}

}}

}

4>矩陣轉置

//41.編寫函式將乙個n*n矩陣轉置,例如:(****)

//1 2 3 4 1 5 3 4

//5 6 7 8 -> 2 6 2 7

//3 2 5 9 3 7 5 2

//4 7 2 3 4 8 9 3

//int a[3][3]

//#if 0

void reverse(int *a,int n)

}}int main(int argc,const

char *argv)

, ,

};int *p[3];

for (int i=0; i<3; i++)

reverse(p, 3);

/*for (int i=0; i<3; i++)

}}*/

for (int i=0; i<3; i++)

printf("\n");

}printf("\n");

return0;}

#endif

陣列中的趣味題二

1.找出陣列中唯一的重複元素 問題描述 給定包含101個元素的陣列arr,陣列中元素一定屬於 1,100 並且 1,100 之間的每個數都在arr 現過。解決方案 分析,陣列中有101個元素,如果 1,100 之間的每個數出現一次,那就是100個元素了,剩下的那個元素就是唯一的重複出現的元素。我們可...

101 scala 稀疏陣列介紹

當乙個陣列中的資料大部分都是預設資料,此時陣列資料需要存檔的情況下,大量預設資料也會占用儲存空間。稀疏陣列正是用於解決此類問題,稀疏陣列只存在資料在原始陣列中的位置及值,在存檔時只報存稀疏陣列中的資料即可 當讀取檔案時根據稀疏陣列來還原 原始陣列。作用 減少儲存空間,起到類似資料壓縮的作用。下面就來...

趣味問題之趣味整數

coding utf 8 created on thu nov 17 16 52 17 2016 author alis 趣味百題之趣味整數 求乙個數的所有因子 def factors num p 1 q num a while p q if num p 0 p 1 q num p a.sort r...