C語言-數(shù)組-實驗題目及答案.doc_第1頁
C語言-數(shù)組-實驗題目及答案.doc_第2頁
C語言-數(shù)組-實驗題目及答案.doc_第3頁
C語言-數(shù)組-實驗題目及答案.doc_第4頁
C語言-數(shù)組-實驗題目及答案.doc_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗六 數(shù)組程序設(shè)計【實驗?zāi)康摹?、 掌握使用一維數(shù)組編程方法2、 掌握使用二維數(shù)組進行程序設(shè)計【實驗內(nèi)容】一、上機驗證程序,并分析結(jié)果要求:讀懂程序,寫出分析結(jié)果;上機運行程序,得到運行結(jié)果,比較之。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;分析結(jié)果運行結(jié)果二、程序改錯題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個學(xué)生的單科成績,輸出高于平均分的成績。#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 編寫程序:假設(shè)有13位評委參與評分工作。計算每位歌手最終得分的方法是:去掉一個最高分和一個最低分,然后計算剩余11個分?jǐn)?shù)的平均值,所得結(jié)果就是選手的最終得分。#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ù)組大小和數(shù)據(jù)自己設(shè)定),查找某本書是否在此數(shù)組中個,如果有,顯示查找成功以及該書在數(shù)組中的下標(biāo),否則顯示查找失敗。#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(查找失??!請確認(rèn)書籍編號是否正確!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; /* 輸出排序后的結(jié)果 */ 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; /* 輸出查找結(jié)果 */ if (low=high) printf(n%d is found at %d., key, mid);/* 確認(rèn)break出口 */ else printf(n%d is not found., key);/* 確認(rèn)循環(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ù)目及選舉結(jié)果。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)系上傳者。文件的所有權(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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論