版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、. 習(xí)題5參考解答 1數(shù)組是相同數(shù)據(jù)類型的集合,分為一維數(shù)組、二維數(shù)組及多維數(shù)組。在什么情況下使用數(shù)組?在什么情況下使用一維數(shù)組?解:當(dāng)需要處理的數(shù)據(jù)為相同類型的數(shù)據(jù)的集合時,可以使用數(shù)組。如果這些數(shù)據(jù)的描述用一個量就可以,這時就用一維數(shù)組。例如,一組學(xué)生的學(xué)號,就可以使用一維數(shù)組。2數(shù)組元素又稱為下標變量,數(shù)組元素的下標有何意義?解:下標的意義是對數(shù)組的各個數(shù)組元素進行標識和區(qū)分。由數(shù)組名和下標結(jié)合起來形成數(shù)組元素的名字。 3使用字符數(shù)組來存儲字符串應(yīng)注意什么問題? 解:需要注意的問題是字符數(shù)組在存儲字符串時是以0作為結(jié)束標記的。這個0是系統(tǒng)自動加上的。所以字符數(shù)組的長度需要比它要存儲的字符
2、串的長度至少多1。例如,要存儲字符串a(chǎn)bcd,因為它的長度為4,所以存儲它的字符數(shù)組的長度至少為5。 4常用的字符處理函數(shù)有哪些?解:常用的字符處理函數(shù)有以下8個。(1)puts(字符串):作用為將一個字符串輸出到終端。 (2)gets(字符數(shù)組):作用為從終端輸入一個字符串到字符數(shù)組,并且得一個函數(shù)值。 (3)strcat(字符串1,字符串2):作用為進行字符串的連接。 (4)strcpy(字符串1,字符串2):作用為進行字符串的復(fù)制。 (5)strcmp(字符串1,字符串2):作用為進行字符串的比較。 (6)strlen(字符串):作用為求字符串的長度。 (7)strlwr(字符串):作用
3、為將字符串中的大寫字母轉(zhuǎn)換成小寫字母。 (8)strupr(字符串):作用為將字符串中的小寫字母轉(zhuǎn)換成大寫字母。5隨機產(chǎn)生10個兩位整數(shù)存儲到一個一維數(shù)組中,找出其中的最大數(shù)。解:#include#include精品.#define random(x) (rand()%x)int main() int a10,max; int x; for(x=0;x10;x+) ax=random(100); max=a0; for(x=0;xmax) max=ax; printf(%4d,ax); printf(nmax=%dn,max); return 0;程序運行結(jié)果如下:41 67 34 0 69
4、24 78 58 62 64max=786輸入10個整數(shù),要求按照從小到大的順序輸出。解:#includevoid main()int i,j,min,t,a10;printf(請輸入10個數(shù):n);for(i=0;i10;i+)scanf(%d,&ai);精品.for(i=0;i10-1;i+)min=i;for(j=i;jaj) min=j;t=ai;ai=amin;amin=t;printf(n排序結(jié)果如下:n);for(i=0;i10;i+)printf(%5d,ai);程序運行情況如下:請輸入10個數(shù):6 90 45 56 1 15 44 78 58 101排序結(jié)果如下: 1 6 1
5、5 44 45 56 58 78 90 1017輸入10個字符,并將它們的順序顛倒后輸出。解:#include#define n 10void main()char an,t;int i;/* 輸入10個字符并輸出*/printf(請輸入10個字符:n);精品.for(i=0;i10;i+) scanf(%c,&ai); /*順序顛倒*/ for(i=0;in/2;i+)t=ai;ai=an-i-1;an-i-1=t;printf(順序顛倒后的字符:n); for(i=0;in;i+)printf(%c,ai);程序運行情況如下:請輸入10個字符:0123456789順序顛倒后的字符:9876
6、543210 8寫出下列程序的運行結(jié)果。 (1)#include void fun(int b) int i=0; while(bi=10) bi+=2; i+;精品.int main() int i,a=1,5,7,9,11,13,15; fun(a+2); for(i=0;i7;i+) printf(%5d,ai); return 0; 解: 1 5 9 11 11 13 15(2)#includeint main() int a33,i,j; for(i=0;i3;i+)for(j=0;j3;j+)aij=i; for(i=0;i3;i+)printf(%5d,a1i); return
7、0;解: 1 1 1(3)#include int main() int k; int a33=1,2,3,4,5,6,7,8,9; for(k=0;k3;k+)精品. printf(%d ,ak2-k); return 0; 解: 3 5 7(4)#include #include int main() char p20=a,b,c,d,q=abc,r=abcde; strcpy(p+strlen(q),r); strcat(p,q); printf(%dn%dn,sizeof(p),strlen(p); return 0; 解: 2011 (5)#include #include void
8、 f(char p10,int n ) /* 字符串從小到大排序 */ char t10; int i,j; for(i=0;in-1;i+) for(j=i+1;j0) strcpy(t,pi); strcpy(pi,pj); strcpy(pi,t); int main() 精品.char p510=abc,aabdfg,abbd,dcdbe,cd;f(p,5); printf(%dn,strlen(p0); return 0; 解:39求一個33矩陣對角線元素之和。解:#includemain()float a33,sum=0;int i,j;printf(請輸入矩陣元素:n);for
9、(i=0;i3;i+)for (j=0;j3;j+)scanf(%f,&aij);for (i=0;i3;i+ )sum=sum+aii;printf(對角線元素之和=%.2fn,sum);程序運行情況如下: 請輸入矩陣元素: 1 2 3 4 5 6 7 8 9 對角線元素之和=15.0010找出一個二維數(shù)組中的鞍點,所謂鞍點是指該位置上的數(shù)在該行最大,在該列最小。需要注意的是,并不是所有的二維數(shù)組都有鞍點。解:#define n 10精品.#define m 10#include void main()int i,j,k,m,n,flag1,flag2,anm,max,maxj;printf
10、(n輸入行數(shù)n:);scanf(%d,&n);printf(n輸入列數(shù)m:);scanf(%d,&m);for (i=0;in ;i+ ) printf(第%d行?n,i); for (j=0;jm ;j+ ) scanf(%d,&aij);for (i=0;in ;i+ ) for (j=0;jm ;j+ ) printf(%5d,aij); printf(n);flag2=0;for (i=0;in ;i+ ) max=ai0; maxj=0; for (j=0; jmax)max=aij;精品.maxj=j;for (k=0,flag1=1;kakmaxj)flag1=0;if (fla
11、g1)printf(n第%d行,第%d列的%d是鞍點n,i,maxj,max);flag2=1;if(!flag2)printf(n矩陣中無鞍點!n); 矩陣中有鞍點,運行情況如下:輸入行數(shù)n:2輸入列數(shù)m:2第0行?45第1行?464546第0行,第1列的5是鞍點 矩陣中無鞍點,運行情況如下:精品.輸入行數(shù)n:2輸入列數(shù)m:2第0行?907第1行?58907 58矩陣中無鞍點!11某班有30個學(xué)生,每個學(xué)生參加了5門課程的考試,請編程顯示該班的期末成績單,并求出每個學(xué)生的所有課程的總分。解:#includevoid main()int score317;int i,j;for(i=1;i=3
12、0;i+) scorei0=i;printf(請依次輸入30個學(xué)生的五門課的成績n);for(i=1;i=30;i+) printf(請依次輸入第%d個學(xué)生的五門課的成績n,i); for(j=1;j=5;j+) scanf(%d,&scoreij);for(i=1;i=30;i+)精品.scorei6=0; for(j=1;j=5;j+) scorei6+=scoreij;printf(期末成績單n);printf(%10s%10s%10s%10s%10s%10s%10sn,學(xué)號,課程1,課程2,課程3,課程4,課程5,總分);for(i=1;i=30;i+)for(j=0;j=6;j+)p
13、rintf(%10d,scoreij);printf(n);程序運行情況如下:請依次輸入30個學(xué)生的五門課的成績請依次輸入第1個學(xué)生的五門課的成績78 89 98 96 98請依次輸入第2個學(xué)生的五門課的成績89 95 98 97 96請依次輸入第3個學(xué)生的五門課的成績78 79 74 78 75 按照上面示例自行輸入27個學(xué)生的五門課的成績。期末成績單學(xué)號 課程1 課程2 課程3 課程4 課程5 總分1 78 89 98 96 98 4592 89 95 98 97 96 4753 78 79 74 78 75 384程序?qū)⒃诖颂幰来未蛴〕隽硗?7個學(xué)生的成績。精品. 12打印出如下方陣:
14、13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4解:#include void main()int array44;int i,j;for(i=0;i=3;i+)for(j=0;j=3;j+)arrayij=(3-i)*4+(j+1);for(i=0;i=3;i+)for(j=0;j=3;j+)printf(%10d,arrayij);printf(n); 13打印出以下的楊輝三角形(要求打印出10行): 11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 解:精品.#include#define n 11void main()int i,
15、j,ann;for(i=1;in;i+)aii=1;ai1=1;for (i=3;in;i+)for(j=2;j=i-1;j+)aij=ai-1j-1+ai-1j;for(i=1;in;i+)for(j=1;j=i;j+)printf(%6d,aij);printf(n);printf(n);程序運行結(jié)果如下:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 1 6 15 20 15 6 1精品. 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 114輸入5個字符串,按照asc
16、ii碼值由小到大順序輸出。解:#include#includevoid main()int i,j,min;char t20,str520;printf(請輸入5個字符串:n);for(i=0;i5;i+)gets(stri);for(i=0;i5-1;i+)min=i;for(j=i;j0) min=j;strcpy(t,stri);strcpy(stri,strmin);strcpy(strmin,t);printf(n排序結(jié)果如下:n);for(i=0;i5;i+)puts(stri);精品.程序運行情況如下:請輸入5個字符串:flashactionphotodreamweaver排序結(jié)
17、果如下:actiondreamflashphotoweaver15有一篇文章,共有5行文字,每行有80個字符。要求分別統(tǒng)計出其中英文大寫字母、小寫字母、數(shù)字、空格以及其他字符的個數(shù)。解:#includevoid main()int i,j,uppn,lown,dign,span,othn;char text580;uppn=lown=dign=span=othn=0;for (i=0;i5;i+)printf(n請輸入第%d行:n,i);gets(texti);for (j=0;j=a&textij=a & textij=0&textij=9)dign+=1;else if(textij= )
18、span+=1;elseothn+=1;for (i=0;i5 ;i+ )printf(%sn,texti);printf(大寫字母的個數(shù):%dn,uppn);printf(小寫字母的個數(shù):%dn,lown);printf(數(shù)字的個數(shù):%dn,dign);printf(空格的個數(shù):%dn,span);printf(其他字符的個數(shù):%dn,othn);程序運行情況如下:請輸入第0行:abc請輸入第1行:+請輸入第2行:精品.abc請輸入第3行:123請輸入第4行:*大寫字母的個數(shù):3小寫字母的個數(shù):3數(shù)字的個數(shù):3空格的個數(shù):0其他字符的個數(shù):6 16有一行電文,已按下面規(guī)律譯成密碼: a z a z b y b y c x c x 即第1個字母變成第26個字母,第
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南京工業(yè)大學(xué)浦江學(xué)院《客房運營與管理》2022-2023學(xué)年第一學(xué)期期末試卷
- 《新年好》說課稿
- 中學(xué)語文教學(xué)反思15
- 南京工業(yè)大學(xué)《儀器分析測試原理與應(yīng)用》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)《隧道工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)《橋梁工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)《交通管理與控制》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)《激光原理與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 物理醫(yī)學(xué)課件教學(xué)課件
- 設(shè)計素描教案內(nèi)頁
- 物聯(lián)網(wǎng)安全分析報告
- 黃芪對慢性疲勞綜合征康復(fù)中的臨床應(yīng)用及相關(guān)機制探究
- 物業(yè)管理工作量化細則
- 語文教學(xué)之學(xué)理
- 醫(yī)療衛(wèi)生行業(yè)醫(yī)療服務(wù)規(guī)范培訓(xùn)
- 渠道下沉活動方案
- 高效數(shù)據(jù)標注流程
- 琵琶簡介課件
- 中小學(xué)音樂教育的跨學(xué)科融合
- 教育學(xué)博士研究計劃
- 信息化項目咨詢服務(wù)方案
評論
0/150
提交評論