- 71
- 0
- 约3.42千字
- 约 10页
- 2018-05-27 发布于江西
- 举报
郑州大学C语言实验报告册答案之实验数组
实验七 数组(一)
1、用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行3个数。
#include math.h
void main()
{ int a[15],i;
for (i=0; i15; i++)
{ a[i]=rand();
/* 产生-90~32767之间的随机整数*/
if(a[i]0) a[i]= -a[i];
a[i]=a[i]%101;
if(i%5==0) printf(\n);
printf(%8d ,a[i]);
}
}
2、求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。
#define N 10
void main()
{ float a[N]={78,86,65,55,91,83,78,90,69,81};
float max=0,min=100,avg=0;
int i, num=0;
for (i=0; iN; i++)
{ if(a[i]max) max=a[i];
if(a[i]min) min=a[i];
avg=avg+a[i];
}
avg=avg/N;
for (i=0; iN; i++) if(a[i]avg) num++;
printf(\n max=%.2f, min=%.2f\n,max,min);
printf(\n %.2f=%d\n,avg,num);
}
3、使用数组,求出下列数列的前20项:1, 1, 2, 4, 7, 13, ……
void main()
{ long a[20]={1,1,2};
int i;
for(i=3;i20;i++) a[i]=a[i-1]+a[i-2]+a[i-3];
for(i=0;i20;i++)
{ if(i%5==0) printf(\n);
printf(%9ld ,a[i]);
}
}
4、将一个一维数组反序放置 如:a={67,89,76,98.66}反序放置后 a={66,98,76,8967}
#define N 5
void main()
{ int a[N]={67,89,76,98,66}, i, k;
for(i=0; iN/2; i++)
{ k=a[i];
a[i]=a[N-i-1];
a[N-i-1]=k;
}
printf(“\n a={%d”,a[0]);
for(i=1;iN;i++)printf(“,%d,a[i]);
printf(“}\n”);
}
5、有10个学生一门课程成绩,使用选择排序法将成绩由高向低排序.
#define N 10
void main()
{int a[N]={67,89,76,98,66,55,77,79,96,89};
int i, j, p, k;
for(i=0; iN-1; i++)
{ p=i;
for ( j=i+1; jN;j++)
if (a[p]a[j]) p=j;
if (p!=i)
{ k=a[i]; a[i]=a[p]; a[p]=k; }
}
for( i=0; iN; i++)
printf(%4d, a[i]);
}
实验七 数组(二)
1、将一个一维数组a[9]中各元素值按行的顺序放入二维数组b[3][3]中。
void main()
{int a[9]={1,2,3,4,5,6,7,8,9},b[3][3],i,j,k=0;
for (i=0;i3;i++)
{ for (j=0; j3; j++)
{ b[i][j]=a[k++];
printf(%8d,b[i][j]);
}
printf(\n);
}
}
2、有一m×n矩阵,各元素由随机数产生,将矩阵增加一列,求矩阵每一行的元素值之和,并将它放入增加列.
#include math.h
#define m 3
#define n 4
void main()
{ long a[m][n+1];
int i,j;
for (i=0;im;i++)
{ a[i][n]=0;
for(j=0;jn;j++) { a[i][j]=rand();
a[i][n]=a[i][n]+a[i][j]; printf(%8ld,a[i][j]);
}
p
原创力文档

文档评论(0)