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

下載本文檔

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

文檔簡介

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

2、+)cin>>ai;for(i=n-1;i>=0;i-)if(ai%3=0)cout<<ai<<" "cout<<endl;for(i=n-1;i>=0;i-)if(i%3=0)cout<<ai<<" "cout<<endl;return 0;數(shù)組指針02:逆序存儲從鍵盤輸入n (n<100)個整數(shù),存放在一個一維數(shù)組 a中,將它們逆序存 放在另一個整型數(shù)組b 中, 并按 b 數(shù)組中下標(biāo)從小到大的順序輸出下標(biāo)為3 的倍數(shù)的數(shù)組元素。輸入格式:第一個數(shù)為數(shù)

3、組中元素個數(shù)n,之后為n個元素。輸出格式:下標(biāo)為3 的倍數(shù)的元素,各個數(shù)值之間用空格分隔。輸入: 10 2 7 9 10 5 4 3 6 8 20輸出: 20 3 10 2#include <iostream>using namespace std;const int MAX=100;int main()int aMAX,bMAX,n,i;cin>>n;for(i=0;i<n;i+)cin>>ai;bn-1-i=ai;for(i=0;i<n;i+)if(i%3=0)cout<<bi<<" "cout&l

4、t;<endl;return 0;數(shù)組指針03:平均值從鍵盤輸入任意個整數(shù)(以0 結(jié)束,假設(shè)不超過100個),存放在一個一維數(shù)組中,計算這組數(shù)的平均值(實型)。輸入: 15 2 7 9 10 5 4 3 6 8 20 0輸出: 8.09091#include <iostream>using namespace std;const int MAX=100;int main()int aMAX,n=0;double s=0;cin>>an;while(an)s+=an;n+;cin>>an;cout<<s/n<<endl;retur

5、n 0;數(shù)組指針04:最大值從鍵盤輸入任意個整數(shù)(以0 結(jié)束,個數(shù)不超過100),存放在一個一維數(shù)組中,輸出這組數(shù)的最大值。輸入: 10 2 7 9 11 5 4 3 6 8 20 0輸出: 20#include<iostream>using namespace std;const int MAX=100;int main()(int aMAX,i,n=0,max;cin>>an;while(an)(n+;cin>>an;max=a0;for(i=1;i<n;i+)(if(ai>max)max=ai;cout<<max<<

6、endl;return 0;數(shù)組指針05:最小值的位置從鍵盤輸入任意個整數(shù)(以0 結(jié)束,個數(shù)不超過100),存放在一個一維數(shù)組中,數(shù)據(jù)從數(shù)組的0 下標(biāo)開始存儲,輸出這組數(shù)的最小值所在數(shù)組下標(biāo)。輸入: 10 2 7 9 11 5 4 3 6 8 20 0輸出: 1#include<iostream>using namespace std;const int MAX=100;int main()int aMAX,i,n=0,min=0;cin>>an;while(an)n+;cin>>an;for(i=1;i<n;i+)if(ai<amin)min=

7、i;cout<<min<<endl;return 0;數(shù)組指針06:排序從鍵盤輸入任意個整數(shù)(以0 結(jié)束,假設(shè)個數(shù)最大不超過100),將這些數(shù)存放在一個一維數(shù)組中,將它們從小到大排序后輸出。輸入:15 2 7 9 11 5 4 3 6 8 20 0輸出:2 3 4 5 6 7 8 9 11 15 20#include<iostream>using namespace std;const int MAX=100;int main()(int aMAX,i,j,n=0,mini,temp;cin>>an;while(an)n+;cin>>

8、an;for(i=0;i<n-1;i+)mini=i;for (j=i+1;j<n;j+)if (aj<amini) mini=j;if (mini!=i)(temp=ai;ai=amini;amini=temp;for(i=0;i<n;i+)cout<<ai<<" "cout<<endl;return 0;數(shù)組指針07:中位數(shù)從鍵盤輸入n(n<100)個整數(shù)(以0結(jié)束),存放在一個一維數(shù)組中,輸出其中位數(shù)。說明:中位數(shù)(Medians)統(tǒng)計學(xué)名詞,是指將數(shù)據(jù)按從小到大順序排列起 來,形成一個數(shù)列,居于數(shù)列中

9、間位置的那個數(shù)據(jù)。若數(shù)列元素個數(shù)為奇數(shù),則 中位數(shù)為最中間的元素;例如: 輸入若數(shù)列元素個數(shù)為偶數(shù),則中位數(shù)為最中間兩個元素的平均數(shù)。2 7 9 11 5 4 3 6 8 20 0 則排序后結(jié)果為2 3 4 5 6 7 8 9 11 20 ,則中間兩個數(shù)的平均值為6.5輸入: 2 7 9 11 5 4 3 6 8 20 0輸出: 6.5#include<iostream>using namespace std;const int MAX=100;int main()int aMAX,i,j,n=0,mini,temp;cin>>an;while(an)n+;cin>

10、;>an;for(i=0;i<n-1;i+)(mini=i;for (j=i+1;j<n;j+)if (aj<amini) mini=j;if (mini!=i)(temp=ai;ai=amini;amini=temp;if(n%2=1)cout<<an/2<<endl;elsecout<<(an/2+an/2-1)/2.0<<endl;cout<<endl;return 0;數(shù)組指針08:排序從鍵盤輸入n(n<100)個整數(shù)(以0結(jié)束),存放在一個一維數(shù)組中,將它 們按奇數(shù)在前、偶數(shù)在后,同為奇數(shù)或偶數(shù)

11、的按從小到大的順序排序,并輸出排序后的結(jié)果。其中:排序過程用函數(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#include<iostream>using namespace std;void sort(int s,int n)int i,j,t;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(si%2)<(sj%2)|(si%2)=(sj%2)&&(si>sj)t=si;si=sj;sj=t;int main()int s100,n=0,

12、i;cin>>sn;while(sn)n+;cin>>sn;sort(s,n);for(i=0;i<n;i+)cout<<si<<' 'return 0;數(shù)組指針09:斐波那契數(shù)列輸入一個正整數(shù)n( n<100) , 將斐波那契數(shù)列的前n 項保存到一維數(shù)組中,并輸出斐波那契數(shù)列中對3 取余為 2 的數(shù)。斐波那契數(shù)列為1 1 2 3 5 8 13 21 34 55輸入:10輸出:2 5 8#include<iostream>using namespace std;const int MAX=100;int m

13、ain()int aMAX,n,i;a0=a1=1;for(i=2;i<n;i+)ai=ai-1+ai-2;for(i=0;i<n;i+)if(ai%3=2)cout<<ai<<" "cout<<endl;return 0;數(shù)組指針10:素數(shù)輸入m、 n( m, n<100) , 輸出 m,n 之間的素數(shù)。要求: 使用塞選法求素數(shù)。用塞選法求100 以內(nèi)的素數(shù)過程:在一張紙上寫上1 到 100 全部整數(shù),然后逐個判斷它們是否是素數(shù),找出一個非素數(shù),就把它挖掉,最后剩下的就是素數(shù)。具體做法如下:< 1> 先將

14、1 挖掉 ( 因為 1 不是素數(shù) ) 。< 2> 用 2 去除它后面的各個數(shù)(2 除外),把能被2 整除的數(shù)挖掉,即把2的倍數(shù)挖掉。< 3> 用 3 去除它后面的各數(shù)(3 除外),把3 的倍數(shù)挖掉。< 4>分別用4、5各數(shù)作為除數(shù)去除這些數(shù)以后的各數(shù)。這個過程一直進行到在除數(shù)后面的數(shù)已全被挖掉為止。最后剩下的都是素數(shù)。輸入:5 19輸出:5 7 11 13 17 19#include<iostream>using namespace std;int main()int m,n,a101,i,j;for(i=1;i<101;i+)ai=i;f

15、or(i=2;i<101;i+)(for(j=i+1;j<101;j+)if(aj%i=0)aj=0;)for(i=m;i<=n;i+)(if(ai!=0)cout<<ai<<"")return 0;)數(shù)組指針11:數(shù)據(jù)插入從鍵盤輸入n (n<100)個整數(shù)(以0結(jié)束),存放在一個一維數(shù)組中,在 輸入一個插入位置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

16、 5 4 3 100 6 8 20#include<iostream>using namespace std;const int MAX=100;int main()int aMAX,i,pos,x,n=0;cin>>an;while(an)n+;cin>>an;cin>>pos>>x;for(i=n-1;i>=pos;i-)ai+1=ai;apos=x;n+;for(i=0;i<n;i+)cout<<ai<<" "cout<<endl;數(shù)組指針12:有序插入從鍵盤輸

17、入n個整數(shù)(n<100),存放在一個一維數(shù)組中,將它們從大到小 排序,再從鍵盤輸入一個整數(shù)x,將該數(shù)插入到該數(shù)組中,使得插入后依然為降 序,輸出插入后數(shù)組中的所有元素。其中將整數(shù)x 插入到數(shù)組中使其依然有序用函數(shù)完成。輸入格式:第一個為個數(shù)n,后續(xù)為n個整數(shù),再輸入一個整數(shù)x輸入:10 2 7 9 11 5 4 3 6 8 2012輸出: 20 12 11 9 8 7 6 5 4 3 2#include<iostream>using namespace std;const int MAX=100;void sort(int a,int n)int i,j,t;for(i=0;

18、i<n-1;i+)for(j=i+1;j<n;j+)if(ai<aj)t=ai;ai=aj;aj=t;void insert(int a,int &n,int x)int i;for(i=n-1;i>=0&&ai<x;i-)ai+1=ai;ai+1=x;n+;int main()int aMAX,i,x,n;cin>>n;cin>>ai;sort(a,n);cin>>x;insert(a,n,x);for(i=0;i<n;i+)cout<<ai<<" "c

19、out<<endl;return 0;數(shù)組指針13:刪除從鍵盤輸入任意個整數(shù)(以0結(jié)束),假設(shè)整數(shù)個數(shù)為n(n<100),則這些數(shù)據(jù)存放在一個一維數(shù)組0n-1 下標(biāo)中,假設(shè)元素所在位置依次為0n-1 ,再輸入一個刪除位置pos (0<=pos<n),將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 <iostream>using namespace std;const int

20、MAX=100;int main()int aMAX,n=0,pos,i;cin>>an;while(an)n+;cin>>an;cin>>pos;if(pos>=0&&pos<n)for(i=pos+1;i<n;i+)ai-1=ai;n-;for(i=0;i<n;i+)cout<<ai<<" "return 0;數(shù)組指針14:刪除元素從鍵盤輸入n(n<100)個整數(shù)(以0結(jié)束),存放在一個一維數(shù)組從 0n-1 下標(biāo)中,再輸入要刪除的元素x,將數(shù)組中所有的x全部刪除。輸

21、出刪除后數(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#include<iostream>using namespace std;const int MAX=100;int main()int aMAX,n=0,i,j,x;cin>>an;while(an)n+;cin>>an;cin>>x;j=0;for(i=0;i<n;i+)if(ai!=x)j+;n=j;for(i=0;i<n;i+)cout<<ai<<&quo

22、t; "cout<<endl;return 0;數(shù)組指針15:矩陣輸入 3 行 4 列的矩陣存儲在一個二維數(shù)組中,分別求出各行元素之和, 并存入一維數(shù)組row 中 , 再輸出 row 的值。輸入:1 2 3 45 6 7 89 10 11 12輸出: 10 26 42#include<iostream>using namespace std;int main()int a34,row3=0,i,j;for(i=0;i<3;i+)for(j=0;j<4;j+)cin>>aij;rowi+=aij;for(i=0;i<3;i+)cou

23、t<<rowi<<" "return 0;數(shù)組指針16:對角線元素之和輸入一個5*5 的矩陣,求出兩條對角線元素值之和。輸入:11 12 13 14 4015 16 17 18 4119 10 11 12 4231 32 33 34 4351 52 53 54 55輸出: 268#include<iostream>using namespace std;int main()int a55,s=0,i,j;for(i=0;i<5;i+)for(j=0;j<5;j+)cin>>aij;for(i=0;i<5;i+

24、)s+=aii+ai4-i;s=s-a22;cout<<s<<endl;return 0;數(shù)組指針17:鞍點輸入一個5*5 的矩陣,輸出所有的鞍點。所謂鞍點是指一行中的最大值也是該列中的最小值。輸入:11 12 13 14 4055 56 57 58 4119 10 11 12 4231 32 33 34 4351 52 53 54 55輸出:40#include <iostream> using namespace std; int main()(int a55,i,j,k,maxj,mini;for(i=0;i<5;i+)for(j=0;j<

25、5;j+)cin>>aij;for(i=0;i<5;i+)(maxj=0;for(j=1;j<5;j+) if(aij>aimaxj) maxj=j;for(k=0;k<5;k+) if(akmaxj<aimaxj)break;if(k=5)cout<<aimaxj<<endl;return 0;數(shù)組指針18:回文字符串從鍵盤輸入n (n<100)個字符串(每個字符串長度不超過19),輸出這組字 符串中的回文字符串。其中判斷一個字符串是否為回文字符串用函數(shù)實現(xiàn)。所謂回文用是指順讀和倒讀都一樣的一個字符串,如" l

26、evel "、" abccba”都是回 文串。輸入格式:第一個為個數(shù)n,后續(xù)為n個字符串。輸入:3 level abccba abbd輸出:level abccba#include <iostream>#include<cstring>using namespace std;bool f(char s)int length,i;bool flag=false;length=strlen(s);for (i=0;i<length/2;i+) if (si!=slength-i-1) break;if (i=length/2)flag=true;return flag;int main()int n,i;char c20;cin>>n;for(i=1;i<=n;i+)cin>>c;if(f(c)cout<<c<<" "

溫馨提示

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

評論

0/150

提交評論