




已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗六 數(shù)組程序設計【實驗目的】1、 掌握使用一維數(shù)組編程方法2、 掌握使用二維數(shù)組進行程序設計【實驗內容】一、上機驗證程序,并分析結果要求:讀懂程序,寫出分析結果;上機運行程序,得到運行結果,比較之。1、#include int main() int a =1,2,3,4,5 , i, j, s=0 ; j = 1; for ( i = 4 ; i=0 ; i-) s = s+ ai * j ; j = j * 10 ; printf( s= %d n , s ); return 0;分析結果運行結果二、程序改錯題1.下面程序的功能,是從鍵盤輸入一個數(shù)組(數(shù)組長度為10),查找數(shù)組中正數(shù)的個數(shù)。源代碼如下,程序中存在錯誤,請將其改正。#include int main() int a(10);/*定義數(shù)組*/ int count,i;/* i循環(huán)變量 count 正數(shù)個數(shù)*/ for(i=0;i=10;i+) /*循環(huán)輸入*/ scanf(%d,ai); count=1; for(i=0;i0)count+; printf(數(shù)組中正數(shù)有:%d個n,count); return 0;三 編寫程序1 編寫程序要求輸入30個學生的單科成績,輸出高于平均分的成績。#include #define N 30int main() float scoreN,sum=0,aver; int i; for(i=0;i30;i+) scanf(%f,&scorei); sum=sum+scorei; aver=sum/30; printf(平均分為:%.2fn,aver); for(i=0;iaver) printf(%.2f ,scorei); printf(n); return 0;2 編寫程序:假設有13位評委參與評分工作。計算每位歌手最終得分的方法是:去掉一個最高分和一個最低分,然后計算剩余11個分數(shù)的平均值,所得結果就是選手的最終得分。#include#define N 13int main() int scoreN,sum=0,i,high,low; for(i=0;iN;i+) printf(請輸入第%d位評委成績:,i+1); scanf(%d,&scorei); sum+=scorei; high=score0; low=score0; for(i=0;iN;i+) if (highscorei) low=scorei; printf(歌手最后得分為:%gn,(float)(sum-high-low)/(N-2);3. 假設給定一個書籍編號的數(shù)組(數(shù)組大小和數(shù)據(jù)自己設定),查找某本書是否在此數(shù)組中個,如果有,顯示查找成功以及該書在數(shù)組中的下標,否則顯示查找失敗。#include#define N 5int main()int aN,i,flag=0,s;printf(請輸入書籍編號:n);for (i=0;iN;i+)scanf(%d,&ai);printf(請輸入需要查找的書籍編號:n);scanf(%d,&s);for (i=0;iN;i+)if(ai=s)flag=1; break; if(flag) printf(查找成功!編號為%d的書籍的位置是%dn,s,i+1);elseprintf(查找失??!請確認書籍編號是否正確!n);return 0;4. 編寫程序驗證冒泡法排序#include int main() int a11,i,j,t; printf(Input 10 numbers:n); for(i=1;i11;i+) scanf(%d,&ai); printf(n); for(i=1;i=9;i+) for(j=1;jaj+1) t=aj; aj=aj+1; aj+1=t; printf(The sorted numbers:n); for(i=1;i11;i+)printf(%d ,ai); return 0;5. 編寫程序驗證選擇法排序方法一:#include int main() int a11,i,j,k,temp; printf(Input 10 numbers:n); for(i=1;i11;i+) scanf(%d,&ai); for(i=1;i10;i+) k=i; for(j=i+1;j11;j+) if(ajak) k=j; if(i!=k) temp=ai; ai=ak; ak=temp; printf(The sorted numbers:n); for(i=1;i11;i+)printf(%d ,ai); return 0;方法二:#include #define NUM 10 /* 參與排序的數(shù)據(jù)個數(shù) */int main() int dataNUM; /* 存放參與排序的所有整數(shù) */ int i, j, minValue, temp; /* 通過鍵盤輸入待排序的整型數(shù)列 */ printf(nEnter %d integers., NUM); for (i=0; iNUM; i+) scanf(%d, &datai); /* 選擇排序 */ for (i=0; iNUM-1; i+) minValue = i;for (j=i+1; jNUM; j+) /* 選擇iNUM-1之間的最小數(shù)值 */if (datajdataminValue)minValue = j;if (minValue!=i) /* 交換 */temp = datai;datai = dataminValue;dataminValue = temp; /* 輸出排序后的結果 */ printf(nOrdering list is:n); for (i=0; iNUM; i+) printf(%5d, datai); return 0;6. 編寫程序驗證二分查找#include #define NUM 10int main( ) int valueNUM = 12, 23, 30, 45, 48, 50, 67, 82, 91, 103; /* 非遞減整型數(shù)列 */ int low, high, mid, key; printf(nEnter a key:); /* 輸入查找的數(shù)值 */ scanf(%d, &key); /* 利用二分查找在有序數(shù)列中查找key */ low = 0;high = NUM-1; while (low=high) mid = (low+high)/2;if (valuemid=key)break;if (valuemidkey) low = mid+1;else high = mid-1; /* 輸出查找結果 */ if (low=high) printf(n%d is found at %d., key, mid);/* 確認break出口 */ else printf(n%d is not found., key);/* 確認循環(huán)正常出口 */ return 0;7.將一個數(shù)組的值按逆序重新存放,例如,原來順序為:8,10,4,23,1。要求改為:1,23,4,10,8。方法一 #include #define N 10int main() int aN,i,j,temp; for(i=0;iN;i+) scanf(%d,&ai); for(i=0,j=N-1;ij;i+,j-) temp=ai; ai=aj; aj=temp; for(i=0;iN;i+) printf(%d ,ai); printf(n); return 0; 方法二:#include #define N 10int main() int aN,i,temp; for(i=0;iN;i+) scanf(%d,&ai); for(i=0;iN/2;i+) temp=ai; ai=aN-i-1;/*第一個和最后一個交換,第二個和倒數(shù)第二個交換,.一直到N/2的時候,也就是數(shù)組的一半的時候*/ aN-i-1=temp; for(i=0;iN;i+) printf(%d ,ai); printf(n);return 0;8. 輸入nn階,編程計算其兩條對角線上各元素之和。 方法一:#include #define N 3int main()int aNN,i,j,sum1=0,sum2=0,sum=0;printf(請輸入%d行%d列的矩陣:n,N,N);for (i=0;iN;i+)for(j=0;jN;j+)scanf(%d,&aij);for (i=0;iN;i+)sum1=sum1+aii;sum2=sum2+aiN-1-i;sum=sum1+sum2;if(N%2=1)sum=sum-aN/2N/2;printf(主對角線元素之和為%d;n副對角線元素之和為%d;n主副對角線元素之和為%dn,sum1,sum2,sum);方法二:#include#define N 10int main()int aNN,i,j,n,sum=0;printf(請輸入階乘:);scanf(%d,&n);for(i=0;i=n-1;i+) for(j=0;j=n-1;j+) scanf(%d,&aij); if(i=j|i+j=n-1) sum+=aij; printf(對角線的和為 %dn,sum);選做題P85頁-例4-1:10名候選人參與競選,編寫程序,輸入一組選舉人的投票信息,統(tǒng)計每個候選人的得票數(shù)目及選舉結果。P87頁例4-2:編寫程序統(tǒng)計從鍵盤輸入一行文本中每個英文字母出現(xiàn)的頻率。3.模擬擲骰子游戲100次,編程統(tǒng)計并輸出骰子的6個面各自出現(xiàn)的次數(shù)。方法一:#include#include#include#define N 100int main()int sN;int a,b,c,d,e,f,i;srand(time(NULL);for(i=0;iN;i+)si=rand()%6+1;a=b=c=d=e=f=0;for(i=0;iN;i+)if(si=1)a+;else if(si=2)b+;else if(si=3)c+;else if(si=4)d+;else if(si=5)e+;else if(si=6)f+;printf( 1點出現(xiàn)的次數(shù)為:%dn,a);printf( 2點出現(xiàn)的次數(shù)為:%dn,b);printf( 3點出現(xiàn)的次數(shù)為:%dn,c);printf( 4點出現(xiàn)的次數(shù)為:%dn,d);printf( 5點出現(xiàn)的次數(shù)為:%dn,e);printf( 6點出現(xiàn)的次數(shù)為:%dn,f);方法二:#include #include #include #define N 100int main() int r6=0;int i;srand(time(NULL);for(i=0;iN;i+)rrand()%6+;for(i=0;i6;i+)printf(%d點:%5d次n,i+1,ri);return 0;4.打印出以下楊輝三角形(要求打印出10行)。 1 11 121 1331 1464
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《連鎖經(jīng)營》課件項目十三連鎖
- 2024北京九中高二10月月考數(shù)學試題及答案
- 2024北京八十中高二12月月考數(shù)學試題及答案
- 2025年國際關系與外交事務專業(yè)考試題及答案
- 2025年公共安全管理學專業(yè)試題及答案
- 2025年公共衛(wèi)生管理師考試試題及答案
- 2025年股份制企業(yè)股票投資知識與風險管理考試試題及答案
- 老年人慢性疾病護理課件
- 物業(yè)保潔及餐飲服務項目方案
- 2025年工程管理專業(yè)考試試卷及答案
- 高邊坡作業(yè)安全專項施工方案與高邊坡安全專項施工方案匯編
- GB/T 20319-2017風力發(fā)電機組驗收規(guī)范
- 重慶渝北區(qū)人民法院招考聘用派遣制司法警察【共500題含答案解析】模擬檢測試卷
- GB 20664-2006有色金屬礦產(chǎn)品的天然放射性限值
- 化工原理課程設Word版
- 高考英語書面表達全國卷評分標準
- 店面運營手冊(店面布置與陳列)
- 裝修申請書模板
- 四川水電站建設用地地質災害危險性評估報告
- 建筑電氣設計技術規(guī)程
- 公開招標招標文件范本
評論
0/150
提交評論