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