中國石油大學(xué)(華東)C語言在線測評答案第8章數(shù)組(2013級親測正確)_第1頁
中國石油大學(xué)(華東)C語言在線測評答案第8章數(shù)組(2013級親測正確)_第2頁
中國石油大學(xué)(華東)C語言在線測評答案第8章數(shù)組(2013級親測正確)_第3頁
中國石油大學(xué)(華東)C語言在線測評答案第8章數(shù)組(2013級親測正確)_第4頁
中國石油大學(xué)(華東)C語言在線測評答案第8章數(shù)組(2013級親測正確)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、8.7求最大值問題描述要求從鍵盤輸入10個整型數(shù)據(jù),找出其中的最大值并顯示出來。輸入范例3054-71027327671015002輸出范例32767提示先假定第一個元素時最大值,然后和其他的元素一個一個的進(jìn)行比較,直到找到最大值。#include<stdio.h>intmain()inta10,max,i;for(i=0;i<10;i+)scanf("%d”,&ai);max=a0;for(i=0;i<10;i+)if(ai>max)max=ai;printf("%d'n",max);return0;8.6數(shù)組逆序輸

2、出問題描述從鍵盤上輸入一個數(shù)組(10個元素),將原數(shù)組逆序重新排列后輸出。要求輸出每個元素時以一個空格隔開。提示:用第一個與最后一個交換。#include<stdio.h>intmain()inta10,i;for(i=0;i<10;i+)scanf("%d”,&ai);for(i=9;i>=0;i-)printf("%d",ai);printf("n");return0;8.1誰能出線背景:電視臺舉辦“超級學(xué)生”才藝大賽,由于報名人數(shù)狂多,所以要先進(jìn)行分組預(yù)賽。按規(guī)定,每10名學(xué)生為一個預(yù)賽小組,評委打出分?jǐn)?shù)(

3、0100分),各小組第一名可以進(jìn)入下一輪;如果有多名學(xué)生得分相同都是第一名,則可同時進(jìn)入下一輪。輸入:按順序給出一個小組10個人的最后得分(int)。輸出:能夠出線的學(xué)生序號(09)。9898999795999094931.2J925#include<stdio.h>intmain()inta10,i,max;for(i=0;i<10;i+)scanf("%d”,&ai);max=a0;for(i=0;i<10;i+)if(ai>max)max=ai;for(i=0;i<10;i+)if(ai=max)printf("%dn&qu

4、ot;,i);return0;)8.2統(tǒng)計素數(shù)的個數(shù)求出2到m之間(含m,m<=1000)所有素數(shù)并放在數(shù)組a中。輸入:正整數(shù)m輸出:從小到大的所有素數(shù),及個數(shù)(素數(shù)輸出的時候用4d來控制)1. 10J|2357J#include<stdio.h>intmain()inta1001,m,n,i,j;scanf("%d",&m);for(i=1;i<=m;i+)ai=i;a1=0;for(i=2;i<=m;i+)for(j=i+1;j<=m;j+)if(aj!=0&&ai!=0)if(aj%ai=0)aj=0;)n=

5、0;for(i=2;i<=m;i+)if(ai!=0)printf("%4d",ai);n+;printf("n%d'n",n);return0;)1.3 冒泡法排序冒泡排序(BubbleSort)的基本概念是:依次比較相鄰的兩個數(shù),將小數(shù)放在前面,大數(shù)放在后面。即在第一趟:首先比較第1個和第2個數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個數(shù)和第3個數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個數(shù),將小數(shù)放前,大數(shù)放后。至此第一趟結(jié)束,將最大的數(shù)放到了最后。在第二趟:仍從第一對數(shù)開始比較(因為可能由于第2個數(shù)和第3個數(shù)的交換,使得第1個數(shù)

6、不再小于第2個數(shù)),將小數(shù)放前,大數(shù)放后,一直比較到倒數(shù)第二個數(shù)(倒數(shù)第一的位置上已經(jīng)是最大的),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個新的最大數(shù)(其實(shí)在整個數(shù)列中是第二大的數(shù))。如此下去,重復(fù)以上過程,直至最終完成排序。由于在排序過程中總是小數(shù)往前放,大數(shù)往后放,相當(dāng)于氣泡往上升,所以稱作冒泡排序。編寫程序,對輸入的十個數(shù)按照從小到大排序#include<stdio.h>intmain()inta10,i,j,t;for(i=0;i<10;i+)scanf("%d”,&ai);for(j=0;j<9;j+)for(i=0;i<9-j;i+)if

7、(ai>ai+1)t=ai;ai=ai+1;ai+1=t;for(i=0;i<10;i+)printf("%d",ai);printf("n");return0;1.4 插入法排序如果一個數(shù)組中保存的元素是有序的(由小到大),向這個數(shù)組中插入一個數(shù),使得插入后的數(shù)組元素依然保持有序。定義一個數(shù)組,長度為11,初始元素為10個,按照從小到大的方式輸入,然后輸入一個要插入的元素,使得插入后仍然有序。1,1357911132. 813F7891113151719tindUe<stdio.h>intnain<)inta11d.i/H

8、g則i);scanfZd&*);elsefor(i=8;i<1fl;i+)從頭嗖查aiJ與11的大小關(guān)系”髓中內(nèi))(ai-i;拿起比欣的“LL將(放在原>內(nèi)處for(j-i+1:j<11;j+)(t2-ajl;tl-tl;“將觸工之后的項挨個向Jg換一位break;"跳出檢查凱H的循環(huán),至.地通外"善氫I那一個長矍卸整后百不再查)for(l-l;lX11;i+)printfC*'ai);returno;8.5求各位數(shù)字組成的最大數(shù)任意輸入一個自然數(shù),輸出該自然數(shù)的各位數(shù)字組成的最大數(shù)。輸入:自然數(shù)n輸出:各位數(shù)字組成的最大數(shù)1.9531-1

9、#include<stdio.h>intmain()(inta100=0,k,n,i,j,t;scanf("%d",&n);for(k=0;n!=0;k+)ak=n%10;n=n/10;for(j=0;j<99;j+)for(i=0;i<99-j;i+)if(ai<ai+1)t=ai;ai=ai+1;ai+1=t;for(i=0;i<k;i+)printf("%d",ai);printf("n");return0;8.8二維數(shù)組問題描述:程序定義了4X4的二維數(shù)組,請編寫程序,給二維數(shù)組賦值

10、,并使數(shù)組下半三角元素中的值乘以n。例如:數(shù)組中的值為12342 2343 2344 234假設(shè)n為10,則輸出結(jié)果如下:(輸出的數(shù)按照4位寬度來輸出,即4d)20303300034U0e04J000015 .8,#include<stdio.h>intmain()(inta44,n,i,j;for(i=0;i<4;i+)for(j=0;j<4;j+)scanf("%d”,&aij);scanf("%d",&n);for(i=0;i<4;i+)for(j=0;j<=i;j+)aij=n*aij;for(i=0;i

11、<4;i+)for(j=0;j<4;j+)printf("%4d",aij);printf("n");return0;8.9在屏幕上顯示楊輝三角形楊輝三角形,又稱賈憲三角形,帕斯卡三角形,是二項式系數(shù)在三角形中的一種幾何排列。其實(shí),中國古代數(shù)學(xué)家在數(shù)學(xué)的許多重要領(lǐng)域中處于遙遙領(lǐng)先的地位。中國古代數(shù)學(xué)史曾經(jīng)有自己光輝燦爛的篇章,而賈憲三角的發(fā)現(xiàn)就是十分精彩的一頁。楊輝三角有如下性質(zhì):1、每行數(shù)字左右對稱,由1開始逐漸變大,然后變小,回到1。2、第n行的數(shù)字個數(shù)為n個。3、每個數(shù)字等于上一行的左右兩個數(shù)字之和。編寫程序,輸入正數(shù)n,將所有數(shù)據(jù)存儲

12、到二維數(shù)組中,并在屏幕上顯示對應(yīng)的楊輝三角形(注意數(shù)據(jù)之間的空格)。例如:n=5圖形如下:IL11211331工4641g1#include<stdio.h>#defineM100intmain()intaMM;inti,j,n;scanf("%d",&n);for(i=0;i<=n;i+)for(j=0;j<=n;j+)if(j=i|j=0)aij=1;for(i=2;i<=n;i+)for(j=1;j<i;j+)aij=ai-1j-1+ai-1j;for(j=0;j<=i;j+)printf("%3d"

13、;,aij);printf("n");return0;8.10 求二維數(shù)組周邊元素之和編寫一個程序,求出4X5的二維數(shù)組周邊元素之和。輸入:二維數(shù)組元素輸出:周邊元素之和如:輸入:【3579299946999613S7O輸出:61#include<stdio.h>intmain()inta45,i,j,sum=0;for(i=0;i<4;i+)for(j=0;j<5;j+)scanf("%d",&aij);for(i=0;i<4;i+)for(j=0;j<5;j+)if(i=0|i=3|j=0|j=4)sum=

14、sum+aij;printf("%dn",sum);return0;)8.11 存儲并輸出一個矩陣編程,輸入n,存儲并輸出如下例(n=5)所示的圖形。立口34511234111231111211L11#include<stdio.h>intmain()inta100100,n,i,j;scanf("%d",&n);for(i=0;i<n;i+)for(j=0;j<n;j+)a皿=1;for(i=0;i<n;i+)for(j=i+1;j<n;j+)a皿尸j+(1-i);for(i=0;i<n;i+)for(

15、j=0;j<n;j+)printf("%d",aij);printf("n");return0;8.12 給數(shù)組中的元素按順序編號對數(shù)組a10中的十個整數(shù)從小到大進(jìn)行連續(xù)編號,輸出各個元素的編號。要求不能改變數(shù)組a中元素的順序,且相同的整數(shù)要具有相同的編號。例如數(shù)組是:A=(5,3,4,7,3,5,6,8,9,10)則輸出為:(4,1,3,7,1,4,6,8,9,10)#include<stdio.h>intmain()inta10,b10,i,j,n;for(i=0;i<10;i+)scanf("%d”,&ai

16、);n=1;for(i=0;i<10;i+)for(j=0;j<10;j+)if(ai>aj)n+;bi=n;n=1;for(i=0;i<10;i+)printf("%3d",bi);printf("n");return0;8.13 矩陣加法方陣階數(shù)為n(n<100),例如當(dāng)n=3時,矩陣inta33,矩陣intb33。矩陣的數(shù)據(jù)由用戶輸入。輸出新的矩陣c=a+b。輸出格式:c00c01c02c10c11c12c20c21c22每兩個數(shù)字之間有1個空格關(guān)于輸入方陣階數(shù)n矩陣a:a00a01a02a10a11a12a20a21

17、a22矩陣b:b00b01b02b10b11b12b20b21b22關(guān)于輸出矩陣c:c00c01c02c10c11c12c20c21c22注意:輸出時每行最后不能有空格#include<stdio.h>intmain()(inta100100,b100100,c100100,i,j,n;scanf("%d",&n);for(i=0;i<n;i+)for(j=0;j<n;j+)scanf("%d",&aij);for(i=0;i<n;i+)for(j=0;j<n;j+)scanf("%d&quo

18、t;,&bij);for(i=0;i<n;i+)for(j=0;j<n;j+)cij=aij+bij;for(j=0;j<n-1;j+)printf("%d",cij);printf("%dn",cin-1);return0;8.14 矩陣轉(zhuǎn)置在數(shù)學(xué)上,矩陣是指縱橫排列的二維數(shù)據(jù)表格,最早來自于方程組的系數(shù)及常數(shù)所構(gòu)成的方陣。這一概念由19世紀(jì)英國數(shù)學(xué)家凱利首先提出。矩陣概念在生產(chǎn)實(shí)踐中也有許多應(yīng)用,比如矩陣圖法以及保護(hù)個人帳號的矩陣卡系統(tǒng)(由深圳網(wǎng)域提出)等等?!熬仃嚒钡谋疽庖渤1粦?yīng)用,比如監(jiān)控系統(tǒng)中負(fù)責(zé)對前端視頻源與控制線切

19、換控制的模擬設(shè)備也叫矩陣。設(shè)A為nxn階矩陣(即n行n歹U),第i行j列的元素是a(i,j),即:A=a(i,j)定義A的轉(zhuǎn)置為這樣一個nxn階矩陣B,滿足B=a(j,i),即b(i,j)=a(j,i)(B的第i行第j列元素是A的第j行第i列元素),記A'=B。(有些書記為AT=B,這里T為A的上標(biāo))直觀來看,將A的所有元素繞著一條從第1行第1列元素出發(fā)的右下方45度的射線作鏡面反轉(zhuǎn),即得到A的轉(zhuǎn)置。輸入:有n+1行(2<n<10),第一行是一個整數(shù)n,代表矩陣為n行n歹U。后面n行表示矩陣的取值輸出:轉(zhuǎn)置后的矩陣1,42.12工44. 919115. 131415161.

20、 15513J2. 261G14U3. 3711154. 4612#include<stdio.h>intmain()inta1111,b1111,i,j,n;scanf("%d",&n);for(j=0;j<n;j+)scanf("%d",&aij);for(i=0;i<n;i+)for(j=0;j<n;j+)bij=aji;for(i=0;i<n;i+)for(j=0;j<n-1;j+)printf("%d",bij);printf("%dn",bin-

21、1);return0;8.15 求一系列整數(shù)中出現(xiàn)最多的數(shù)字給定一系列整數(shù),對每個整數(shù)的每一位數(shù)字統(tǒng)計09各個數(shù)字的出現(xiàn)次數(shù),求出現(xiàn)次數(shù)最多的數(shù)字。輸入:有兩行,第一行是整數(shù)n(1<=n<=100),表示有n個整數(shù);第二行是n個整數(shù)值輸出:出現(xiàn)次數(shù)最多的數(shù)字d(如果d不唯一,要列出全部)及其出現(xiàn)的次數(shù)1.3最專G次的數(shù)學(xué)是3t2.123423455456.例之|#include<stdio.h>intmain()inta100,b1000=0,c10=0,n,i,j,number=0,max;scanf("%d",&n);for(i=0;i&

22、lt;n;i+)scanf("%d",&ai);for(j=number;ai!=0;j+)bj=ai%10;ai=ai/10;number+;for(i=0;i<number;i+)cbi+;max=c0;for(i=0;i<10;i+)if(ci>max)max=ci;printf("出現(xiàn)次數(shù)最多%d次的數(shù)字是",max);for(i=0;i<10;i+)if(ci=max)printf("%d",i);printf("n");return0;8.16裝箱問題假設(shè)有n項物品,大小

23、分別為s1,s2,.,sn,其中si是整數(shù)且滿足:1<=si<=100。要把這些物品裝入到容量為100的一批箱子(序號1n)中。裝箱方法是:對每項物品si,依次掃描所有這些箱子,把si放入足以能夠容下它白第一個箱子中(first-fit策略)。寫一個程序來模擬這個裝箱的過程。輸入:有兩行。第一行是整數(shù)n(n<=1000),表示物品的個數(shù);第二行是n個整數(shù)si(si<=100),分別表示n個物品的大小輸出:每個物品所在的箱子序號,并輸出所需的箱子數(shù)目輸入樣例:86070809030401020輸出樣例:601702803904301405101202所需的箱子數(shù)目為5#i

24、nclude<stdio.h>intmain()ints1000,v1000,n,i,j,max=0;scanf("%d",&n);for(i=0;i<n;i+)scanf("%d”,&si);for(i=0;i<n;i+)vi=100;for(i=0;i<n;i+)for(j=0;j<n;j+)if(si<=vj)printf("%d%dn",si,j+1);vj=vj-si;if(j>max)max=j;break;printf("所需的箱子數(shù)目為dn",m

25、ax+1);return0;8.17求大于m且緊靠m的k個素數(shù)請編寫一個函數(shù),其功能是:將大于整數(shù)m且緊靠m的k個素數(shù)存入xx所指的數(shù)組中。例如,若輸入175,則應(yīng)輸出1923293137提醒:本題提交的時候,只需要提交fun函數(shù)就可以。#include<stdio.h>intfun(intm,intn,intzz1000)inti,j,k=0;for(i=m+1;k<n;i+)for(j=2;j<i;j+)if(i%j=0)break;if(j=i)zzk=i;k+;return(zzk);/*PRESETCODEBEGIN-NEVERTOUCHCODEBELOW*/intmain()intm,n,zz1000;scanf("%d%d"

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論