C++數(shù)組指針題(含答案)_第1頁(yè)
C++數(shù)組指針題(含答案)_第2頁(yè)
C++數(shù)組指針題(含答案)_第3頁(yè)
C++數(shù)組指針題(含答案)_第4頁(yè)
C++數(shù)組指針題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)組指針01:逆序輸出從鍵盤(pán)輸入n個(gè)整數(shù)(n100),存放在一個(gè)一維數(shù)組中,逆序輸出能被3整除的元素,并逆序輸出數(shù)組下標(biāo)為3的倍數(shù)的元素。輸入格式:第一個(gè)整數(shù)為個(gè)數(shù)n,后續(xù)為n個(gè)整數(shù)輸出格式:第一行能被3整除的元素,第二行為下標(biāo)為3的倍數(shù)的元素,各個(gè)數(shù)值之間用空格分隔。輸入:10 2 7 9 10 5 4 3 6 8 20輸出:6 3 920 3 10 2#include using namespace std;const int MAX=100;int main()int aMAX,n,i;cinn;for(i=0;iai;for(i=n-1;i=0;i-)if(ai%3=0)coutai

2、;cout=0;i-)if(i%3=0)coutai ;coutendl;return 0;數(shù)組指針02:逆序存儲(chǔ)從鍵盤(pán)輸入n(n100)個(gè)整數(shù),存放在一個(gè)一維數(shù)組a中,將它們逆序存放在另一個(gè)整型數(shù)組b中,并按b數(shù)組中下標(biāo)從小到大的順序輸出下標(biāo)為3的倍數(shù)的數(shù)組元素。輸入格式:第一個(gè)數(shù)為數(shù)組中元素個(gè)數(shù)n,之后為n個(gè)元素。輸出格式:下標(biāo)為3的倍數(shù)的元素,各個(gè)數(shù)值之間用空格分隔。輸入:10 2 7 9 10 5 4 3 6 8 20輸出:20 3 10 2#include using namespace std;const int MAX=100;int main()int aMAX,bMAX,n,

3、i;cinn;for(i=0;iai;bn-1-i=ai;for(i=0;in;i+)if(i%3=0)coutbi ;coutendl;return 0;數(shù)組指針03:平均值從鍵盤(pán)輸入任意個(gè)整數(shù)(以0結(jié)束,假設(shè)不超過(guò)100個(gè)),存放在一個(gè)一維數(shù)組中,計(jì)算這組數(shù)的平均值(實(shí)型)。輸入:15 2 7 9 10 5 4 3 6 8 20 0輸出:8.09091#include using namespace std;const int MAX=100;int main()int aMAX,n=0;double s=0;cinan;while(an)s+=an;n+;cinan;couts/nend

4、l;return 0;數(shù)組指針04:最大值從鍵盤(pán)輸入任意個(gè)整數(shù)(以0結(jié)束,個(gè)數(shù)不超過(guò)100),存放在一個(gè)一維數(shù)組中,輸出這組數(shù)的最大值。輸入:10 2 7 9 11 5 4 3 6 8 20 0輸出:20#includeusing namespace std;const int MAX=100;int main()int aMAX,i,n=0,max;cinan;while(an)n+;cinan;max=a0;for(i=1;imax)max=ai;coutmaxendl;return 0;數(shù)組指針05:最小值的位置從鍵盤(pán)輸入任意個(gè)整數(shù)(以0結(jié)束,個(gè)數(shù)不超過(guò)100),存放在一個(gè)一維數(shù)組中,數(shù)

5、據(jù)從數(shù)組的0下標(biāo)開(kāi)始存儲(chǔ),輸出這組數(shù)的最小值所在數(shù)組下標(biāo)。輸入:10 2 7 9 11 5 4 3 6 8 20 0輸出:1#includeusing namespace std;const int MAX=100;int main()int aMAX,i,n=0,min=0;cinan;while(an)n+;cinan;for(i=1;in;i+)if(aiamin)min=i;coutminendl;return 0;數(shù)組指針06:排序從鍵盤(pán)輸入任意個(gè)整數(shù)(以0結(jié)束,假設(shè)個(gè)數(shù)最大不超過(guò)100),將這些數(shù)存放在一個(gè)一維數(shù)組中,將它們從小到大排序后輸出。輸入:15 2 7 9 11 5 4

6、3 6 8 20 0輸出:2 3 4 5 6 7 8 9 11 15 20#includeusing namespace std;const int MAX=100;int main()int aMAX,i,j,n=0,mini,temp;cinan;while(an)n+;cinan;for(i=0;in-1;i+)mini=i;for (j=i+1;jn;j+)if (ajamini) mini=j;if (mini!=i)temp=ai;ai=amini;amini=temp;for(i=0;in;i+)coutai ;coutendl;return 0;數(shù)組指針07:中位數(shù)從鍵盤(pán)輸入n

7、(n100)個(gè)整數(shù)(以0結(jié)束),存放在一個(gè)一維數(shù)組中,輸出其中位數(shù)。說(shuō)明:中位數(shù)(Medians)統(tǒng)計(jì)學(xué)名詞,是指將數(shù)據(jù)按從小到大順序排列起來(lái),形成一個(gè)數(shù)列,居于數(shù)列中間位置的那個(gè)數(shù)據(jù)。若數(shù)列元素個(gè)數(shù)為奇數(shù),則中位數(shù)為最中間的元素;若數(shù)列元素個(gè)數(shù)為偶數(shù),則中位數(shù)為最中間兩個(gè)元素的平均數(shù)。例如:輸入2 7 9 11 5 4 3 6 8 20 0則排序后結(jié)果為2 3 4 5 6 7 8 9 11 20,則中間兩個(gè)數(shù)的平均值為6.5輸入:2 7 9 11 5 4 3 6 8 20 0輸出:6.5#includeusing namespace std;const int MAX=100;int mai

8、n()int aMAX,i,j,n=0,mini,temp;cinan;while(an)n+;cinan;for(i=0;in-1;i+)mini=i;for (j=i+1;jn;j+)if (ajamini) mini=j;if (mini!=i)temp=ai;ai=amini;amini=temp;if(n%2=1)coutan/2endl;elsecout(an/2+an/2-1)/2.0endl;coutendl;return 0;數(shù)組指針08:排序從鍵盤(pán)輸入n(n100)個(gè)整數(shù)(以0結(jié)束),存放在一個(gè)一維數(shù)組中,將它們按奇數(shù)在前、偶數(shù)在后,同為奇數(shù)或偶數(shù)的按從小到大的順序排序,并

9、輸出排序后的結(jié)果。其中:排序過(guò)程用函數(shù)實(shí)現(xiàn)。輸入:10 2 7 9 11 5 4 3 6 8 20 0輸出:3 5 7 9 11 2 4 6 8 10 20#includeusing namespace std;void sort(int s,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(si%2)sj)t=si;si=sj;sj=t;int main()int s100,n=0,i;cinsn;while(sn)n+;cinsn;sort(s,n);for(i=0;in;i+)coutsi ;return 0;數(shù)組指針09:斐波那契數(shù)列

10、輸入一個(gè)正整數(shù)n(n100),將斐波那契數(shù)列的前n項(xiàng)保存到一維數(shù)組中,并輸出斐波那契數(shù)列中對(duì)3取余為2的數(shù)。斐波那契數(shù)列為1 1 2 3 5 8 13 21 34 55輸入:10輸出:2 5 8#includeusing namespace std;const int MAX=100;int main()int aMAX,n,i;cinn;a0=a1=1;for(i=2;in;i+)ai=ai-1+ai-2;for(i=0;in;i+)if(ai%3=2)coutai ;coutendl;return 0;數(shù)組指針10:素?cái)?shù)輸入m、n(m,n100),輸出m,n之間的素?cái)?shù)。要求:使用塞選法求素

11、數(shù)。用塞選法求100以內(nèi)的素?cái)?shù)過(guò)程:在一張紙上寫(xiě)上1到100全部整數(shù),然后逐個(gè)判斷它們是否是素?cái)?shù),找出一個(gè)非素?cái)?shù),就把它挖掉,最后剩下的就是素?cái)?shù)。具體做法如下: 先將1挖掉(因?yàn)?不是素?cái)?shù))。 用2去除它后面的各個(gè)數(shù)(2除外),把能被2整除的數(shù)挖掉,即把2的倍數(shù)挖掉。 用3去除它后面的各數(shù)(3除外),把3的倍數(shù)挖掉。 分別用4、5各數(shù)作為除數(shù)去除這些數(shù)以后的各數(shù)。這個(gè)過(guò)程一直進(jìn)行到在除數(shù)后面的數(shù)已全被挖掉為止。最后剩下的都是素?cái)?shù)。輸入:5 19輸出:5 7 11 13 17 19#includeusing namespace std;int main()int m,n,a101,i,j;for

12、(i=1;imn;for(i=2;i101;i+)for(j=i+1;j101;j+)if(aj%i=0)aj=0;for(i=m;i=n;i+)if(ai!=0)coutai ;return 0;數(shù)組指針11:數(shù)據(jù)插入從鍵盤(pán)輸入n(n100)個(gè)整數(shù)(以0結(jié)束),存放在一個(gè)一維數(shù)組中,在輸入一個(gè)插入位置pos(0=pos=n)及被插入的數(shù)值x,將x插入到下標(biāo)為pos的位置。輸出插入后數(shù)組中的所有元素。輸入:10 2 7 9 11 5 4 3 6 8 20 08 100輸出:10 2 7 9 11 5 4 3 100 6 8 20#includeusing namespace std;const

13、 int MAX=100;int main()int aMAX,i,pos,x,n=0;cinan;while(an)n+;cinan;cinposx;for(i=n-1;i=pos;i-)ai+1=ai;apos=x;n+;for(i=0;in;i+)coutai ;coutendl;數(shù)組指針12:有序插入從鍵盤(pán)輸入n個(gè)整數(shù)(n100),存放在一個(gè)一維數(shù)組中,將它們從大到小排序,再?gòu)逆I盤(pán)輸入一個(gè)整數(shù)x,將該數(shù)插入到該數(shù)組中,使得插入后依然為降序,輸出插入后數(shù)組中的所有元素。其中將整數(shù)x插入到數(shù)組中使其依然有序用函數(shù)完成。輸入格式:第一個(gè)為個(gè)數(shù)n,后續(xù)為n個(gè)整數(shù),再輸入一個(gè)整數(shù)x。輸入:10

14、2 7 9 11 5 4 3 6 8 2012輸出:20 12 11 9 8 7 6 5 4 3 2#includeusing namespace std;const int MAX=100;void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(ai=0&ain;for(i=0;iai;sort(a,n);cinx;insert(a,n,x);for(i=0;in;i+)coutai ;coutendl;return 0;數(shù)組指針13:刪除從鍵盤(pán)輸入任意個(gè)整數(shù)(以0結(jié)束),假設(shè)整數(shù)個(gè)數(shù)為n(n100),則這些數(shù)據(jù)存

15、放在一個(gè)一維數(shù)組0n-1下標(biāo)中,假設(shè)元素所在位置依次為0n-1,再輸入一個(gè)刪除位置pos(0=posn),將pos位置的元素從數(shù)組中刪除,若pos位置不合法,則不刪除元素。輸出刪除后數(shù)組中的所有元素。輸入:10 2 7 9 11 5 4 3 6 8 20 08輸出:10 2 7 9 11 5 4 3 8 20#include using namespace std;const int MAX=100;int main()int aMAX,n=0,pos,i;cinan;while(an)n+;cinan;cinpos;if(pos=0&posn)for(i=pos+1;in;i+)ai-1=a

16、i;n-;for(i=0;in;i+)coutai ;return 0;數(shù)組指針14:刪除元素從鍵盤(pán)輸入n(n100)個(gè)整數(shù)(以0結(jié)束),存放在一個(gè)一維數(shù)組從0n-1下標(biāo)中,再輸入要?jiǎng)h除的元素x,將數(shù)組中所有的x全部刪除。輸出刪除后數(shù)組中的所有元素。輸入:10 2 7 9 5 11 5 4 3 6 5 8 20 05輸出:10 2 7 9 11 4 3 6 8 20#includeusing namespace std;const int MAX=100;int main()int aMAX,n=0,i,j,x;cinan;while(an)n+;cinan;cinx;j=0;for(i=0;

17、in;i+)if(ai!=x)aj=ai;j+;n=j;for(i=0;in;i+)coutai ;coutendl;return 0;數(shù)組指針15:矩陣輸入3行4列的矩陣存儲(chǔ)在一個(gè)二維數(shù)組中,分別求出各行元素之和, 并存入一維數(shù)組row中, 再輸出row的值。輸入:1 2 3 45 6 7 89 10 11 12輸出:10 26 42#includeusing namespace std;int main()int a34,row3=0,i,j;for(i=0;i3;i+)for(j=0;jaij;rowi+=aij;for(i=0;i3;i+)coutrowi ;return 0;數(shù)組指針

18、16:對(duì)角線元素之和輸入一個(gè)5*5的矩陣,求出兩條對(duì)角線元素值之和。輸入:11 12 13 14 4015 16 17 18 4119 10 11 12 4231 32 33 34 4351 52 53 54 55輸出:268#includeusing namespace std;int main()int a55,s=0,i,j;for(i=0;i5;i+)for(j=0;jaij;for(i=0;i5;i+)s+=aii+ai4-i;s=s-a22;coutsendl;return 0;數(shù)組指針17:鞍點(diǎn)輸入一個(gè)5*5的矩陣,輸出所有的鞍點(diǎn)。所謂鞍點(diǎn)是指一行中的最大值也是該列中的最小值。輸

19、入:11 12 13 14 4055 56 57 58 4119 10 11 12 4231 32 33 34 4351 52 53 54 55輸出:40#include using namespace std;int main()int a55,i,j,k,maxj,mini;for(i=0;i5;i+)for(j=0;jaij;for(i=0;i5;i+)maxj=0;for(j=1;jaimaxj)maxj=j;for(k=0;k5;k+)if(akmaxjaimaxj)break;if(k=5)coutaimaxjendl;return 0;數(shù)組指針18:回文字符串從鍵盤(pán)輸入n(n100)個(gè)字符串(每個(gè)字符串長(zhǎng)度不超過(guò)19),輸出這組字符串中的回文字符串。其中判斷一個(gè)字符串是否為回文字符串用函數(shù)實(shí)現(xiàn)。所謂回文串是指順讀和倒讀都一樣的一個(gè)字符串,如”level”、”abccba”都是回文串。輸入格式:第一個(gè)為個(gè)數(shù)n,后續(xù)為n個(gè)字符串。輸入:3 level abccba abbd輸出:level abccba#include #includeusing namespace std;bool f(char s)int length,i;bool flag=false;length=strlen(s);fo

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論