下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第六章數(shù)組例題1輸入5個(gè)學(xué)生的數(shù)學(xué)成績(jī),求最低分【分析】:1輸入五位同學(xué)數(shù)學(xué)成績(jī)2假定第0位同學(xué)成績(jī)最低,賦予 min (編號(hào)從零開始)min3依次比較min與第1、2、3、4同學(xué)的成績(jī),發(fā)現(xiàn)更小的就賦予4輸出五位同學(xué)成績(jī)5輸出最低分min【源碼】#include "stdio.h"main()int i,min;int math5;printf("請(qǐng)輸入5位同學(xué)的數(shù)學(xué)成績(jī):n"); for(i=0;i<5;i+) scanf("%d", &mathi);min=math0;for( i=1 ;i<5;i+)if(
2、min>mathi) min=mathi;printf("5位同學(xué)的數(shù)學(xué)成績(jī)?yōu)椋簄");for(i=0;i<5;i+)printf("%dn",mathi);printf("最低分為:%dn",min);練習(xí):輸入10個(gè)學(xué)生的英語(yǔ)成績(jī),求最高分,最低分,平均分ij012301234156782936732431【分析】我們發(fā)現(xiàn):右上角元素 aij,就是j>i的元素【思路】依次查看每個(gè)元素下標(biāo),如果j>i,那么將元素置 0 (依次查看每個(gè)元素,用雙重循環(huán))【源碼】#include<stdio.h>ma
3、in()int i,j;int a44=1,2,3,4,5,6,7,8,9,3,6,7,2,4,3,1;for(i=0;i<4;i+)for(j=0;j<4;j+)/*判斷是否是右上三角*/* 置 0*/*輸出寬度為4,不夠補(bǔ)空格*/ if(j>i) aij=0; for(i=0;i<4;i+)for(j=0;j<4;j+) printf(” %4d",aij); printf("n");練習(xí):求出數(shù)組周邊元素的平均值。例如,若a數(shù)組中的值為:012791 97452 38314 56825 9141輸出結(jié)果應(yīng)為:aver=3.375
4、注意:周邊元素是那些元素?結(jié)果aver是float型,數(shù)組a是什么類型?例題3:輸入一行英文,如I Miss You!,要求將大寫字母換小寫,小 寫字母換大寫【分析】在本題中,一行英文里有三種字符:大寫字母、小寫字母、其他(空格,標(biāo)點(diǎn)符號(hào)),所以我們用if-elseif-else結(jié)構(gòu),而不是if-else結(jié)構(gòu)。但又因?yàn)?else里面沒有做任何處理,所 以只剩下了 if-elseif。我們翻開課本最后一頁(yè) ASCII表,發(fā)現(xiàn)大寫字符的 ASCII值比小寫字母小了32,故有:''-32= ''、A'+32='a'。既:小寫字母-32=大寫字母
5、輸入一行英文,我們有三種方式,1、scanf( %c",&ch0)2、scanf( %s",ch)3、gets(ch)在這里我們選用第三種,原因參考附錄【源碼】#include vstdio.h>#include <string.h> main()/*安排足夠大的空間存字符串,只能多不能少*/*取字符串實(shí)際長(zhǎng)度*/*判斷字母是不是小寫*/*小寫轉(zhuǎn)大寫,減去32即可*/*判斷字母是不是大寫*/*大寫轉(zhuǎn)小寫,加上32即可*/char ch100; int i,len;printf("請(qǐng)輸入一行英文:n"); gets(ch);len
6、=strlen(ch); for(i=0;ivlen;i+) if(chi>='a'&&chiv='z') chi=chi-32; else if(chi>='A'&&chiv='Z') chi=chi+32;printf(” 轉(zhuǎn)換后為:n"); puts(ch);練習(xí):有一行電文,已經(jīng)按下面規(guī)律譯成密碼:A-Z a-zB-Y b-yC-X c-x既第一個(gè)字母變成第26個(gè)字母,第i個(gè)字母變成第(26-i+1)個(gè)字母。非字母不變。要求編程序?qū)⒚艽a譯成原文,并輸出密碼和原文。如有密
7、碼:svool,nzirgrnv!例題4:冒泡排序【冒泡排序】依次比較相鄰的兩個(gè)數(shù), 將小數(shù)放在前面,大數(shù)放在后面。相當(dāng)于氣泡往上升,質(zhì)量輕 的上浮,重的下沉,故稱之為冒泡排序。即在第一趟:首先比較第 1個(gè)和第2個(gè)數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個(gè)數(shù)和第3個(gè)數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個(gè)數(shù),將小數(shù)放前,大數(shù) 放后。至此第一趟結(jié)束,將最大的數(shù)放到了最后。在第二趟:仍從第一對(duì)數(shù)開始比較, 將小數(shù)放前,大數(shù)放后,一直比較到倒數(shù)第二個(gè)數(shù) (倒數(shù)第一的位置上已經(jīng)是最大的),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個(gè)新的最大數(shù)(其實(shí)在整個(gè)數(shù)列中是第二大的數(shù))。如此下去,重復(fù)以上過程
8、,直至最終完成排序。原始:第一趟排序后 第二趟排序后 第三趟排序后 第四趟排序后 第五趟排序后 完成9 8 5 4 2 08 5 4 2 0 95 4 2 0 8 94 2 0 5 8 92 0 4 5 8 90 2 4 5 8 90 2 4 5 8 9我們發(fā)現(xiàn),對(duì)于6個(gè)數(shù):9 8 5 4 2 0 ,總共進(jìn)行了 5趟排序,第1趟排序進(jìn)行了 5次兩 兩比較,第i趟排序進(jìn)行了 6-i次兩兩比較#include "stdio.h"main()int i,j,k;int a6=9,8,5,4,2,0;for(i=1;i<6;i+ )for(j=0;j<6-i;j+ )
9、if(aj>aj+1) k=aj; aj=aj+1; aj+1=k; for(i=0;i<6;i+) printf("%dn",ai);練習(xí):編寫程序,用冒泡法對(duì)字符串 maritime排序(ASCII碼小的在前面)例題5:選擇排序【選擇排序】每一趟從待排序的數(shù)據(jù)元素中選出最?。ɑ蜃畲螅┑囊粋€(gè)元素,順序放在已排好序的數(shù)列的最前,直到全部待排序的數(shù)據(jù)元素排完?!臼纠浚撼跏嫉谝惶伺判蚝?第二趟排序后 第三趟排序后 第四趟排序后 第五趟排序后 第六趟排序后 第七趟排序后49 38 65 97 76 13 27 4913 38 65 97 76 49 27 4913
10、27 65 97 76 49 38 4913 27 38 97 76 49 65 4913 27 38 49 76 97 65 49 13 27 38 49 49 97 65 7613 27 38 49 49 65 97 7613 27 38 49 49 65 76 97最后排序結(jié)果 13 27 38 49 49 65 76 97第一步:在49 38 65 97 76 13 27 49找到 min回顧范例1#include "stdio.h"main()int i,min;int a8=49,38,65,97,76,13,27,49; min=a0;for(i=1;i<
11、;8;i+)if(min>ai)min=ai;printf("%dn",min);使用另一種方法:記錄最大值的下標(biāo)t,#include "stdio.h"main()int i,t;int a8=49,38,65,97,76,13,27,49;t=0;/* 用 at代表 max*/for(i=1;i<8;i+)if(at>ai)t=i;printf("%dn", at);printf("%dn", t);第二步:找到 min后,將min與第一個(gè)位置的元素相交換交換 13 與 49,即交換 at與
12、a0,此時(shí) t=5。得到:13 38 65 97 76 49 27 49#include "stdio.h"main()int i,t,temp;int a8=49,38,65,97,76,13,27,49;t=0;for(i=1;i<8;i+)if(at>ai) t=i; if(t!=0)/*如果原本ao就最小,那么就不用換*/temp=at; at=a0; a0=temp; printf("%dn",aO);最后,對(duì)于8個(gè)數(shù):49 38 65 97 76 13 27 49,總共進(jìn)行了 7趟排序,第1趟排序進(jìn)行了 7次兩兩比較,第i趟排序進(jìn)
13、行了 8-i次兩兩比較(此處i從1開始)#include "stdio.h"main()int i,j,t,temp;int a8=49,38,65,97,76,13,27,49;for(i=0;i<8;i+)t=i;/*第i趟從第i個(gè)元素開始比較,i從0開始*/for(j=i+1;j<8;j+ )if(at>aj)t=j;if(t!=i)/*將第i趟中最大值放在 ai的位置*/temp=at; at= ai; ai=temp;for(i=0;i<8;i+)printf("%dn",ai);練習(xí):編寫程序,用選擇法對(duì)大小為 10的
14、數(shù)組按從大到小排序附錄字符串的輸入輸出(1)采用循環(huán)的方式讀取字符串#include "stdio.h" main()char a15;int i; printf("請(qǐng)輸入15個(gè)字符:n"); for (i=0;iv=14;i+)scanf("%c", &ai); printf("n"); printf("您剛輸入的15個(gè)字符:"); for (i=0;iv=14;i+)printf("%c",ai);輸入:I am a worker. 輸出結(jié)果:I am a worker.我們發(fā)現(xiàn):不輸完15個(gè)字符就會(huì)一直等待你輸入(2)采用%s的方式讀取字符串#include "stdio.h"main()char c15;printf("請(qǐng)輸入15個(gè)以內(nèi)的字符:n"); scanf("%s",c);printf("您剛輸入的字符為:n"); printf("%sn"
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 濱州科技職業(yè)學(xué)院《動(dòng)物解剖學(xué)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 畢節(jié)醫(yī)學(xué)高等??茖W(xué)?!蹲獭?023-2024學(xué)年第一學(xué)期期末試卷
- 石材日常養(yǎng)護(hù)規(guī)定合同
- 肉類購(gòu)銷合同豬肉
- 小區(qū)物業(yè)管理承包合同
- 2025版眼科醫(yī)療器械代理銷售及眼科手術(shù)服務(wù)合同2篇
- 蕪湖市住宅室內(nèi)裝飾裝修工程標(biāo)準(zhǔn)施工合同
- 2025版交通物流行業(yè)勞動(dòng)保障監(jiān)察與運(yùn)輸安全管理合同3篇
- 2024年血管造影機(jī)C臂系統(tǒng)項(xiàng)目可行性研究報(bào)告
- 北京郵電大學(xué)《人工智能》2023-2024學(xué)年第一學(xué)期期末試卷
- 醫(yī)療機(jī)構(gòu)醫(yī)院臨床微生物學(xué)檢驗(yàn)標(biāo)本的采集和轉(zhuǎn)運(yùn)指南
- 國(guó)開電大《員工招聘與配置》形考冊(cè)第一次形考答案
- ODM合作方案教學(xué)課件
- 醫(yī)藥公司知識(shí)產(chǎn)權(quán)
- GB/T 1196-2023重熔用鋁錠
- Revit軟件學(xué)習(xí)實(shí)習(xí)報(bào)告
- 2024版國(guó)開電大本科《行政領(lǐng)導(dǎo)學(xué)》在線形考(形考任務(wù)一至四)試題及答案
- 風(fēng)電教育培訓(xùn)體系建設(shè)
- 《機(jī)械基礎(chǔ)(第七版)》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 長(zhǎng)龍山抽水蓄能電站500kv開關(guān)站工程環(huán)境影響報(bào)告書
- 2023年中考語(yǔ)文一輪復(fù)習(xí):童話示例與訓(xùn)練
評(píng)論
0/150
提交評(píng)論