int main(void) {
int i; time_t t; int a[15];
srand((unsigned) time(&t));
printf(\ for (i=1; i<=15; i++) {
a[i]=rand()0; printf(\ if(i%5==0) printf(\ }
system(\ return 0; }
2. 求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。 #include
#define n 10 //注意,宏定义define 后不带分号结束符。 main() {
int a[n] = {60,100,70,67,90,99,89,40,77,56}; int avg=0,num=0,sum=0,max,min; int i;
for(i=0;i<10;i++) {
sum+=a[i]; }
avg=sum/n; min=a[0]; max=a[0];
for(i=0;i<10;i++) {
if(a[i] min=a[i]; if(a[i]>max) max=a[i]; if(a[i]>avg) num++; } printf(\ printf(\ system(\ } 3. //方法1:使用数组,求出下列数列的前20项。1,1,2,4,7,13,…… #include long a[20] = {1,1}; long sum=0; int i; for(i=3;i<20;i++) { a[i] = a[i-1]+a[i-2]+a[i-3]; } for(i=0;i<20;i++) { sum+=a[i]; } printf(\ system(\ } //方法2:使用数组,求出下列数列的前20项。1,1,2,4,7,13,…… #include long a[20] = {1,1}; long sum=2; int i; for(i=3;i<20;i++) { a[i] = a[i-1]+a[i-2]+a[i-3]; sum+=a[i] } printf(\ system(\ } 4. #include int i,temp; int a[n]={0,1,2,3,4,5}; for(i=0;i<=(n-1)/2;i++) { temp=a[i]; a[i]=a[n-1-i]; a[n-1-i]=temp; } for(i=0;i 5. //有10个学生一门课程成绩,使用选择排序法将成绩从高向低排序。 #include int main() { int i,j,k,t,min; int a[10]={77,99,69,76,87,90,100,88,66,80}; for(i=0;i<10;++i) {//选出最小值所在的位置j min=65535;//可试试此句不在循环内的结果。 for(k=i;k<10;k++) { if(a[k] if(i!=j) {//交换 t=a[i]; a[i]=a[j]; a[j]=t; } } for(i=0;i<10;i++) printf(\ system(\ return 0; } 实验六(第6章实验二) 实验目的: 1. 掌握二维数组的使用方法。 2. 数组的综合应用。 实验内容: 1.将一个一维数组a[9]中各元素值按行的顺序放入二维数组b[3×3]。 2.有一个m×n矩阵,各元素值由随机数产生,将矩阵增加一列,求矩阵每一行的元素值的和,并将每一行的元素值的和放入增加列。 3.有一个m×n矩阵,找出最大元素值及其最大元素值所在的行、列位置。 4.有n个考生,每个考生有考号和一个总分成绩,如果录取m人,确定录取分数线,并输出录取考生的考号和成绩。 5.将矩阵m(n,n)对角线上的元素置为1,其余元素置为0。 实验过程: 实验结果: 1. //将一个一维数组a[9]中各元素值按行的顺序放入二维数组b[3*3] #include int main() { int i,j; int b[3][3]; int a[10]={77,99,69,76,87,90,100,88,66}; for(i=0;i<3;++i) for(j=0;j<3;j++) b[i][j]=a[3*i+j]; for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf(\ } printf(\ } system(\ return 0; } 2. //有一个m×n矩阵,各元素值由随机数产生,将矩阵增加一列,求矩阵每一行的元素值的和,并将每一行的元素值的和放入增加列。 #include