天天看點

c語言程式設計江寶钏實驗六答案,C語言程式設計(江寶钏著)實驗六答案-資源下載下傳螞蟻文庫...

《C語言程式設計》(江寶钏著)實驗六答案

6.46.4實驗六實驗六 數組數組 一、一、 實驗目的與要求實驗目的與要求 1. 掌握一維數組的定義、指派和輸入輸出的方法。 2. 了解一維數組的存儲方法及下标的表示方法。 3. 掌握與數組有關的算法特别是排序算法。 4. 掌握二維數組的定義、指派和輸入輸出的方法。 5. 了解二維數組的存儲方法及下标的表示方法。 6. 實驗 4 學時。 二、實驗内容二、實驗内容 1.程式驗證題與改錯題 (1)程式驗證題 ① 給定一個整型數組 a,要求求出其中小于 0 的元素的個數。請驗證下面的程式是否 符合題目要求。 define N 10 void main { int a[N]{11,2,4,-1,5,-3,-66,0,10,-5}; int i; int count0; for i0;ii;j-- { { ta[i][j];ta[i][j]; a[i][j]a[j][i];a[i][j]a[j][i]; a[j][i]t;a[j][i]t; } } printf“printf“交換後的數列為交換後的數列為\n“;\n“; fori0;ix;ifori0;ix;i { { forj0;jy;jforj0;jy;j printf“5d“,a[i][j];printf“5d“,a[i][j]; printf“\n“;printf“\n“; } } } } 程式設計題程式設計題 4 一個學習小組有 5 個人,每個人有三門課的考試成績。求全組分科的平均成績和各科總 平均成績。 張王李趙周 Math8061598576 C7565638777 English9271709085 提示 可設一個二維數組 a[5][3]存放五個人三門課的成績。 再設一個一維數組 v[3]存放所 求得各分科平均成績,設變量 average 為全組各科總平均成績。 答答 includeinclude voidvoid mainmain { { intint a[3][5];a[3][5]; intint i,j;i,j; doubledouble sum1,sum20,v[3],average;sum1,sum20,v[3],average; printf“\tprintf“\t 張張\t\t 王王\t\t 李李\t\t 趙趙\t\t 周周\n“;\n“; fori0;i3;ifori0;i3;i { { switchiswitchi { { casecase 0printf“0printf“math“;break;math“;break; casecase 1printf“1printf“c c“;break;“;break; casecase 2printf“English“;break;2printf“English“;break; } } forj0;j5;jforj0;j5;j scanf“5d“,scanf“5d“, } } fori0;i3;ifori0;i3;i { { sum10;sum10; forj0;j5;jforj0;j5;j sum1a[i][j];sum1a[i][j]; v[i]doublesum1/5;v[i]doublesum1/5; sum2v[i];sum2v[i]; } } averagesum2/3;averagesum2/3; fori0;i3;ifori0;i3;i { { switchiswitchi { { casecase 0printf“math0printf“math averageaverage.2lf\n“,v[i];break;.2lf\n“,v[i];break; casecase 1printf“chinese1printf“chinese averageaverage .2lf\n“,v[i];break;.2lf\n“,v[i];break; casecase 2printf“English2printf“English averageaverage .2lf\n“,v[i];break;.2lf\n“,v[i];break; } } } } printf“totleprintf“totle average.2lf\n“,average;average.2lf\n“,average; } } 3.較難程式設計題 程式設計題程式設計題 1給定一個整型數組 a,要求将數組 a 中的元素進行從小到大的排序(用冒泡法排 序) 【算法描述】 從第一個數開始依次對相鄰兩數進行比較, 如次序對則不做任何操作; 如次序不對則使這兩 個數交換位置。第一遍的(N-1)次比較後,最大的數已放在最後;第二遍隻需考慮(N-1) 個數,即不用考慮最後一個數;以此類推每次少考慮一個數,直到第(N-1)遍比較後就可 以完成排序。 答答 include define N 1000 void main { int a[N],n; int i,j,t; printf“請輸入數組中元素的個數請輸入數組中元素的個數“; scanf“d“, printf“輸入數組輸入數組“; fori0;in;i scanf“d“, fori0;in-1;i { forj0;ja[j1] { ta[j]; a[j]a[j1]; a[j1]t; } } printf“排序後的數列為排序後的數列為“; fori0;ie。若找到相等元素,則傳回元素下 标,否則傳回-1 表示無此數。 答答 include define N 15 void fint s[],int n; void main { int s[N]{1,2,3,5,9,10,20,23,45,56,66,70,80,90,100},b0,eN,mid,x; printf“ anumber to search“; scanf“d“, whilebe { midbe/2; ifxs[mid] { printf“The position in array is d\n“,mid1; fs,mid;break; } else ifxe printf“d not be foud\n“,x; } void fint s[],int n { int i; forin;iN;i s[i]s[i1]; printf“output the array after deleting the number\n“; fori