版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、練習(xí) 66.1 輸入 10 個(gè)整數(shù),計(jì)算它們的平均值。找出最小數(shù),再找出與平均值最接近的整數(shù)。#include void main()int a10, min, pos, i;double ave, mdif, dif;min = 0;ave = 0;for(i=0; i10; +i)scanf(%d, &ai);ave += ai;if(ai 0 ? ave - a0 : a0 - ave;pos = 0;for(i=1; i 0 ? ave - ai : ai - ave;if(dif mdif)mdif = dif;pos = i;printf( 與平均值最接近的整數(shù)為%dn, apos
2、);輸入 20 個(gè) 1 至 5 之間的整數(shù),給出1 至 5 每個(gè)數(shù)出現(xiàn)的次數(shù)。#include void main()int a6 = 0, i;for(i=0; i 5 | a0 1)printf( 輸入錯(cuò)誤);return;+aa0;for(i=1; i6; +i)printf(%d 出現(xiàn)了 %d 次 !n, i, ai);以十六進(jìn)制的形式輸出用戶輸入的十進(jìn)制正整數(shù)。#includevoid main()int n;int a8, j=0;scanf(%d, &n);printf(%Xn, n);while(n 0)aj = n % 16;n /= 16;+j;for(-j; j=0; -
3、j)if (aj 9)printf(%c, A+aj-10);elseprintf(%d, aj);printf(n);或者直接用printf 函數(shù)輸出正整數(shù)的十六進(jìn)制形式:printf(%x, n);再把它放在數(shù)組的末尾。找出整型數(shù)組中的最大值,把它后面的元素依次前移一位,再把它放在數(shù)組的末尾。#include #define N 5void main( )int numN, max, i, temp;max = 0;for(i=0; i nummax)max = i;temp = nummax;for(i=max; iN-1; +i)numi = numi + 1;numi = temp;
4、printf( 處理后的數(shù)組為:n);for(i=0; iN; +i)printf( %d , numi);有一整型數(shù)組a10=20,23,37,52,95 ,輸入 5 個(gè)整數(shù)存儲(chǔ)在a 中,且要保持?jǐn)?shù)組a#include void main( )int a10=20,23,37,52,95, i, j, temp;for(i=0; i=0 & ajtemp; -j)aj + 1 = aj;aj + 1 = temp;printf( 添加元素后的數(shù)組為:n);for(i=0; i10; +i)printf( %d , ai);輸入 20 個(gè)整數(shù)到數(shù)組num 中,并對(duì)num 中的偶數(shù)號(hào)元素按升序排
5、序。#include #define N 20void main( )int i, j, numN, temp;for(i=0; iN; +i)scanf(%d, &numi);for(i=2; i0 & tempnumj-2; j=j-2)numj = numj-2;numj = temp;/按升序 10 個(gè)一行輸出for(i=0; iN; +i)if(i % 10 = 0)printf(n);printf( %d , numi);printf(n);6.7 輸入一個(gè)5位無(wú)符號(hào)整數(shù),輸出構(gòu)成這個(gè)整數(shù)的5 個(gè)數(shù)字可以組成的整數(shù)中最大的及最小的5位整數(shù)(輸入67890、 10002 測(cè)試) 。#
6、include void main( )int bit5, i, j, temp;unsigned num, max, min;max = min = 0;scanf(%u, &num);for(i=0; i=4; +i)biti = num % 10;num /= 10;for(i=1; i0 & temp=0; -i)max = max * 10 + biti;for(i=0; i=4; +i)if(biti != 0)temp = biti;biti = bit0;bit0 = temp;break;for(i=0; i=4; +i)min = min * 10 + biti;print
7、f( 最大的 5 位整數(shù)為%d, 最小的為%dn, max, min);分析下面的程序#include void main( )int i, j, a10, temp;for(i=0; i10; +i)ai = i;printf(%3d, ai);= 0;j = 9;while(ij) temp = ai;ai = aj;aj = temp;+i;-j;printf(nn);for(i=0; i10; +i)printf(%3d, ai);2.#include void main( ) int a35 = 1;int i, k, n, m;for(n=2; n=1000; +n)k = 1;m
8、 = n - 1;for(i=2; i0; -i)printf(%d + , ai);printf(%dn, a0);分析:1. 對(duì)數(shù)組進(jìn)行了倒置。循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程如下循環(huán)體 循環(huán)控制temp=ai;ai=aj;aj=temp;+i;-ja0a1a2a3a4a5a6a7a8a9iji19-89123456780181 (真)a1a8互換1-28-79823456710271 (真)a2a7互換2-37-69873456210361 (真)a3a6互換3-46-59876453210451 (真)a4a5互換4-55-49876543210540(假)退出不再執(zhí)行不不循環(huán)控制條件改為i=j 時(shí)
9、會(huì)出現(xiàn)什么情況?有9 個(gè)數(shù)組元素時(shí),分析循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程。2. 求出了 1000 以內(nèi)的完全數(shù)。循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程如下:循環(huán)體 循環(huán)控制kmfor(i=2;in; +i)if(n % i = 0)m -= i;ak+ = i;if(m=0) 輸出+n;nn=100021 (真)11ii3mak+k20- 假31 (真)1221-真2-3假不輸出 /a0:13-430- 假41 (真)1321-真3-1a1:21-22-3假不輸出 /a0:1 a1:24-531-真3-440- 假51 (真)1421-真2-3假不輸出 /a0:1 a1:25-631-真3-441-真4-550- 假61 (真
10、)1521-真5-3a1:21-22-3真, / a0:1,a1:2,a3:3 輸出分析略6-731-真3-0a2:32-33-441-真4-551-真5-660- 假7,冒泡排序時(shí)第一趟操作可用代碼描述如下:#include void main( )int i, num = 25, 22, 21, 29, 23, temp;for(i=0; i numi+1)temp = numi;numi = numi+1;numi+1 = temp;請(qǐng)結(jié)合代碼分析冒泡排序中一趟操作的效果。請(qǐng)結(jié)合代碼分析冒泡排序中一趟操作的效果。組有序?請(qǐng)實(shí)現(xiàn)冒泡排序算法。答:冒泡排序中一趟操作的效果是找出數(shù)組里無(wú)序元素
11、中的最大者(或最小者),并將其放在適當(dāng)?shù)奈恢?。具體的分析過(guò)程如下:循環(huán)體 循環(huán)控制if(numinumi+1) temp=ai;ai=aj; aj=temp;+i;num0num1num2num3num4ii1222521292311 (真)真 num1num2 互換1-2222125292321 (真)假不互換2-3222125292331 (真)真 num3num4 互換3-4222125232940 (假)退出不再執(zhí)行不為:#include #define N 5void main( )int i, j, num = 25, 22, 21, 29, 23, temp;for(j=N-1;
12、 j=1; -j)for(i=0; i numi+1)temp = numi;numi = numi+1;numi+1 = temp;for(i=0; iN; +i)printf( %d , numi);0 號(hào)元素交換,接著從6.10 0 號(hào)元素交換,接著從余下的元素中找出最小的元素和第1 號(hào)元素交換,再?gòu)挠嘞碌脑刂姓页鲎钚〉脑睾偷谔?hào)元素交換, 。請(qǐng)實(shí)現(xiàn)選擇排序算法。#include #define N 5void main( )int i, j, numN = 25, 22, 21, 29, 23, min, temp;for(j=0; jN; +j)for(min=i=j; iN; +
13、i)if(numinummin)min = i;temp = numj;numj = nummin;nummin = temp;for(i=0; iN; +i)printf( %d , numi);分析下面兩段代碼。int num = 49, 38, 65, 97, 76, 13, 27;int i = 1, j = 7, temp, pivot;pivot = num0;while(1)for( ; i7 & numi pivot);if(i = j)break;temp = numi;numi = numj;numj = temp;num0 = numj;numj = pivot;int
14、num = 49, 38, 65, 97, 76, 13, 27;int left = 0, right = 6, pivot = num0;dowhile(right left & numright = pivot)-right;if(right left)numleft = numright;+left;while(left right & numleft = pivot) +left;if(left right)numright = numleft;-right;while(left right);numleft = pivot;參考:. 輸出為. 輸出為數(shù)組中小于首元素的元素均位于首元
15、素的左邊,而大于的均去了右邊。具體的執(zhí)行過(guò)程分析如下。循環(huán)體循環(huán)控制for(;i7&numipivot) ;if(i=j)break;temp=numi;numi=numj;numj= temp;11 (真)ii7&numipivotj;0(假)交換num2與 num6 數(shù)組狀態(tài)見(jiàn)(1)11 (真)1-270 (假)620(假)1 (真)21 (真)2-360 (假)50(假)交換num3與 num5 數(shù)組狀態(tài)見(jiàn)(2)30(假)1 (真)31 (真)3-451 (真)41 (真) 退出循環(huán)40(假)40 (假)3for(i=0; i3; +i)for(i=0; il&numr=pivot)-r
16、;if(rl)numl=numr;+l;while(lr&num l=pivot) +l;if(lr) numr=numl;-r;循環(huán)體循環(huán)控制lrll&numr=pri vot-rrlnuml= numr ;+l;lrrl&numl=pri vot+ll1161(真)1-21(真)狀態(tài)(2)6-5260(假)250(假)1(真)狀態(tài)(3)2-3350(假)1(真)狀態(tài)(4)5-4341(真)341(真)4-3330(假)0(假)330(假)330(假)編號(hào)num0num1num2num3num4num5num649386597761327(1)27386597761327(2)2738659
17、7761365(3)27381397761365(4)27381397769765分析下面的程序#include void main( )int a = -15, 6, 0, 7, 9, 23, 54, 82, 101;int b3 = 101, -14, 82;int i, left, right, middle;left = 0;right = 8;while(left amiddle)left = middle + 1;elseright = middle - 1;if(left right)printf(b%d(%d)不在數(shù)組中!n, i, bi);b0=101b1 =-14b2=82
18、leftrightmiddleleftrightmiddleleftrightmiddle08408408458603158678700078788810利用篩選法求1000 以內(nèi)的素?cái)?shù)的步驟如下:第一步依次列出2,3,4,5, ,1000,并確定第一個(gè)素?cái)?shù)2;第二步從該素?cái)?shù)起(但不包括),篩去(刪去)序列中該素?cái)?shù)的倍數(shù);第三步把序列中大于原素?cái)?shù)且沒(méi)有被刪去的第一個(gè)數(shù)作為新確定的素?cái)?shù),并重復(fù)第二步。如果找不到這樣的數(shù),則算法結(jié)束。提示:用數(shù)組存儲(chǔ)序列。int num1000 =0,2 是素?cái)?shù)則num2=0 , 篩去 2的倍數(shù)時(shí)讓num4=1 ,num6= 1 , 參考程序:for(j=0; j
19、COL; +j)for(j=0; jCOL; +j)for(i=0; iROW; +i)for(i=0; iROW; +i)#include void main()int num1000 = 0, i, j, sum = 0;for(i=2; i1000; +i)if(numi = 0)printf(%5d, i);if(+sum % 10 = 0)printf(n);for(j=i+i; j1000; j += i)numj = 1;找出矩陣m 中的最大、最小元素,并輸出它們的位置。#include #define ROW 2#define COL 3void main()int mROWC
20、OL, i, j;int pos4 = 0;printf( 請(qǐng)輸入 %d 行 %d 列矩陣的元素n, ROW, COL);for(i=0; iROW; +i)for(j=0; jCOL; +j)scanf(%d, &mij);printf( 矩陣為 :n);for(j=0; j mpos0pos1)pos0 = i;pos1 = j;else if(mij mpos2pos3)pos2 = i;pos3 = j;printf( 最大元素在%d 行 %d 列為%dn, pos0, pos1, mpos0pos1);printf( 最小元素在%d 行 %d 列為%dn, pos2, pos3, m
21、pos2pos3);求矩陣 m 的轉(zhuǎn)置矩陣。#include #define ROW 2#define COL 3void main()int mROWCOL, nCOLROW, i, j;printf( 請(qǐng)輸入 %d 行 %d 列整型矩陣的元素n, ROW, COL);for(i=0; iROW; +i)for(i=0; iN; +i)for(i=0; iN; +i)scanf(%d, &mij);nji = mij;printf( 轉(zhuǎn)置后的矩陣為n);for(i=0; iCOL; +i)for(j=0; jROW; +j)printf( %d , nij);printf(n);計(jì)算 n 階
22、方陣的兩條主對(duì)角線上元素的和。#include #define N 3void main()int mNN;int i, j, sum = 0;printf( 請(qǐng)輸入 %d 行 %d 列整型矩陣的元素n, N, N);for(i=0; iN; +i)for(j=0; jN; +j)scanf(%d, &mij);if(i = j | i + j = N - 1)sum += mij;printf( 兩條主對(duì)角線上元素的和為:%dn, sum);此算法把兩條主對(duì)角線交叉點(diǎn)上的元素只計(jì)算了一次。計(jì)算 n 階方陣上三角元素的和。#include #define N 3void main()int m
23、NN;int i, j, sum = 0;printf( 請(qǐng)輸入 %d 行 %d 列整型矩陣的元素n, N, N);for(i=0; iN; +i)for(j=0; jN; +j)scanf(%d, &mij);if(i =j)sum += mij;printf( 上三角元素的和為:%dn, sum);輸出金字塔形的楊輝三角。#include #define N 10void main()int aNN, i, j;for(j=0; j=i; +j)if(j = 0 | i = j)aij = 1;elseaij = ai - 1j + ai - 1j - 1;for(i=0; iN; +i)
24、for(j=i+1; jN; +j)printf(%4c, );for(j=0; j=i; +j)printf(%4d%4c, aij, );printf(n);或者include #define N 10void main()int aNN, i, j;for(i=0; iN; +i)for(j=i+1; jN; +j)printf(%4c, );for(j=0; j=i; +j)if(j = 0 | i = j)aij = 1;elseaij = ai - 1j + ai - 1j - 1;printf(%4d%4c, aij, );printf(n);能用一維數(shù)組輸出楊輝三角嗎?提示:有
25、a10=1,2,1 ,求下一行時(shí),a3=1 , a2=a2+a1 , a1=a1+ a0 。#include ine N 10void main()int aN, i, j;for(i=0; iN; +i)for(j=i+1; j=0; -j)if(j = i | j = 0)aj = 1;elseaj = aj + aj - 1;printf(%4d%4c, aj, );printf(n);學(xué)號(hào)為 1、 2、 3 的學(xué)生的英語(yǔ)、高數(shù)、C 語(yǔ)言成績(jī):1 號(hào) 80,89,83; 2 號(hào) 72,85,95;3 號(hào) 61,72,80。按如下形式輸出他們的平均成績(jī)及合計(jì)成績(jī)。學(xué)號(hào)英語(yǔ)高數(shù) C 語(yǔ)言平均
26、分180898384合計(jì)無(wú)#include #define M 4#define N 3void main()int aMN = 80,89,83, 72,85,95, 61,72,80, i, j, ave;printf( 學(xué)號(hào) 英語(yǔ) 高數(shù) C 語(yǔ)言 平均分 n);for(i=0; iM-1; +i)ave = 0;printf(%4d, i + 1);for(j=0; jN; +j)ave += aij;aM-1j += aij;printf(%6d, aij);printf(%8dn, ave /= N);printf( 合計(jì) %6d%6d%6d%8sn, aM-10, aM-11, a
27、M - 12, 無(wú) );國(guó)際象棋8 8 的棋 盤(pán) 上,皇后會(huì)攻擊與之同行的,同列的及同對(duì)角線(兩條)上的棋子,輸入兩個(gè)皇后在棋盤(pán)上的位置,輸出它們能否相互攻擊。#include #define N 8void main()int boardNN = 0;int i, j, pos4, flag = 0;printf( 請(qǐng)輸入兩個(gè)后的位置(1-8)n);for(i=0; i=3; +i)scanf(%d, &posi);boardpos0 - 1pos1 - 1 = 1;boardpos2 - 1pos3 - 1 = 1;if(pos0 = pos2 | pos1 = pos3)flag = 1
28、;if(pos3 - pos1 = pos2 - pos0)flag = 1;if(pos3 - pos1 = -1* (pos2 - pos0)flag = 1;if(flag = 0)printf( 它們不能相互攻擊!n);elseprintf( 它們能相互攻擊!n);for(i=0; iN; +i)for(j=0; jN; +j)if(boardij = 0)printf(0);elseprintf(*);printf(n);三維數(shù)組還能用什么方式初始化?編程驗(yàn)證。并總結(jié)多維數(shù)組的初始化方法。參考:三維數(shù)組初始化時(shí)還可在花括號(hào)中依次列出初值。如:#include void main( )
29、int a342 = 1, 1, 1, 2, 1, 3, 1, 4, 2, 1, 2, 2;int i, j, k;for(i=0; i3; +i)for(j=0; j4; +j)for(k=0; k2; +k)printf(%3d, aijk);printf(n);printf(nn);多維數(shù)組常見(jiàn)的初始化方法有兩種:第一種:認(rèn)為數(shù)組的元素最少,如:int a342 = , , ;第二種:認(rèn)為數(shù)組的元素最多,如:int a342 = , , ;比較字面量3,3和 3 。參考:字面量 3 是一個(gè)整數(shù),通常占4 字節(jié),內(nèi)存中為補(bǔ)碼。字面量3是一個(gè)字符,占1 個(gè)字節(jié),內(nèi)存中為ASCII 碼。字面量
30、 3 是一個(gè)字符串常量,由字符3和空字符0組成,占2 個(gè)字節(jié)。字符數(shù)組與其它類型的數(shù)組相比有何特殊之處?參考:1、字符數(shù)組可以用字符常量直接初始化;2、字符數(shù)組可以用%s 輸入輸出字符串。把從鍵盤(pán)輸入的二進(jìn)制整數(shù)串存儲(chǔ)在字符數(shù)組中,并轉(zhuǎn)換成十進(jìn)制整數(shù)(如輸入1111 ,則輸出整數(shù)15) 。#include void main( )char ch;int val, i, sign = 1;val = i = 0;printf( 請(qǐng)輸入一個(gè)二進(jìn)制整數(shù)n);ch = getchar();if(ch = -)sign = -1;else if(ch = 0 | ch = 1)val = ch - 0;
31、elseprintf( 輸入錯(cuò)誤!n);return;while(ch = getchar() != n)if(ch = 0 | ch = 1)val = val * 2 + (ch - 0);elseprintf( 輸入錯(cuò)誤!n);return;printf( 轉(zhuǎn)換成十進(jìn)制數(shù)為%d!n, val * sign);用 putchar 函數(shù) 模擬函數(shù)調(diào)用puts(str)。#include void main( )char str6 = Henan;int i = -1;puts(str);/while(str+i != 0)putchar(stri);putchar(n);/把用戶輸入的一行字
32、符逆序輸出, 如輸入abc,則程序輸出cba。#include #define N 100void main( )char strN;int i = -1;gets(str);while(str+i != 0);while(-i = 0)putchar(stri);輸入一句英語(yǔ),統(tǒng)計(jì)其中含有多少個(gè)英語(yǔ)單詞,并把每個(gè)英語(yǔ)單詞的首字母大寫(xiě)。參考1:#include ine N 100void main( )char strN;int i = -1, sum = 0, flag = 1;gets(str);while(str+i != 0)if(flag = 1)flag = 0;if(stri =a & stri = z)stri -= a - A;if(stri = )+sum;flag = 1;printf
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新能源汽車(chē)充電站風(fēng)險(xiǎn)評(píng)估
- 2024年度金融科技人力資源派遣與產(chǎn)品研發(fā)合同3篇
- 2024山東地區(qū)高新技術(shù)企業(yè)勞動(dòng)合同規(guī)范文本3篇
- 2024年拆遷補(bǔ)償安置房交易合同
- 馬鞍山職業(yè)技術(shù)學(xué)院《汽車(chē)人機(jī)工程學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 呂梁學(xué)院《游戲美術(shù)設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度服裝店鋪陳列設(shè)計(jì)與管理合同
- 2024年度高品質(zhì)擠塑板供應(yīng)與銷售協(xié)議范本版B版
- 漯河食品職業(yè)學(xué)院《建筑美術(shù)Ⅲ》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025寫(xiě)字樓租賃合同簽訂有些學(xué)問(wèn)
- 年產(chǎn)12萬(wàn)噸甲烷氯化物可行性研究報(bào)告
- 腦積水的護(hù)理演示文稿
- 《中級(jí)微觀經(jīng)濟(jì)學(xué)》考試復(fù)習(xí)題庫(kù)(附答案)
- 方形真空干燥機(jī)驗(yàn)證方案
- 腫瘤基礎(chǔ)知識(shí)示范課件
- 肺炎鏈球菌介紹及肺炎鏈球菌肺炎介紹
- 私營(yíng)企業(yè)員工年度績(jī)效評(píng)價(jià)表
- 醫(yī)院護(hù)理品管圈成果匯報(bào)縮短腦卒中靜脈溶栓患者DNT完整版本PPT易修改
- 防汛物資臺(tái)賬參考模板范本
- 氣道廓清技術(shù)及護(hù)理課件
- 體育與健康人教六年級(jí)全一冊(cè)籃球基礎(chǔ)知識(shí)(共15張PPT)
評(píng)論
0/150
提交評(píng)論