做网站人/seo实战论坛
江西财经大学2005年考研C语言程序设计试题
江西财经大学2005年考研C语言程序设计试题
一、用逻辑表达式描述下列问题。(15分)
1、给定一个整数X,写出只能被3,5,7其中的两个数整除的表达式。(3分)
2、在美国NBA中,评价球员的实力通过两个指标:平均每场得分p,平均每场篮板球数r.下面是评价标准:(12分)
(1) p大于等于20且r大于等于15,则为“最有价值球员”;
(2) p大于等于15且r大于等于10,或p大于等于20且r大于等于8,或p大于等于12且r大于等于15,则为“优秀球员”;
(3) p大于等于8且r大于等于5,则为“合格球员”;
(4) p大于等于8且r小于5,或p小于8且r大于等于5,则为“较差球员”;
(5) p小于8且r小于5,则为“很差球员”;
试写出判断5种球员的表达式。
二、程序阅读(15分)
1、#include
void main()
{ int i,j,row,col;
int a[3][4]={{3,1,2,4},{7,9,6,8},{8,11,12,5}};
row=col=0;
for (i=0;i<3;i++)
for (j=0;j<4;j++)
if (a[i][j]>a[row][col])
{ row=i; col=j;
printf(row=%d, col=%d/n,row,col);
}
printf(a[%d][%d]=%d/n,row,col,a[row][col]);
}
程序运行后的输出结果为:
2、 #include
void main()
{ int i,j,post,t;
int data[11]={0,18,10,4,-2,12,6,4,0,15,8};
for (i=1;i<=9;i++)
{ post=i;
for (j=i+1;j<=10;j++)
if (data[j]
if (post!=i)
{ t=data[i]; data[i]=data[post]; data[post]=t; }
}
for (i=1;i<=10;i++)
printf(%d ,data[i]);
printf(/n);
}
程序运行后的输出结果为:
3、 #include
void main()
{ int i,a[10]={1,2,3,4,5,9,8,7,6,5};
void tran(int *);
tran(a);
for (i=0;i<10;i++)
printf(%3d,a[i]);
printf(/n);
}
void tran(int *p)
{ int *b,*e,t;
b=p; e=p+9;
while (b
{ t=*b; *b=*e; *e=t;
b++; e——;
}
}
程序运行后的输出结果为:
三、程序填空(15分)
1、将两个升序数组归并成一个新的升序数组。
#define M 8
#define N 6
void sort( int *x,int *y,int z[])
{ int i=0,j=0,k=0;
while ( ① )
if (x[i]
z[k++]=x[i++];
else
z[k++]=y[j++];
while (i
z[k++]=x[i++];
while (j
z[k++]=y[j++];
}
void main()
{ int i,a[M]={1,3,8,25,30,36,40,50};
int b[N]={-5,-1,2,5,32,35},c[M+N];
sort( ② );
for (i=0;i
printf(%d ,c[i]);
printf(/n);
}
①___________ ②______________
2、设数组x[6][5]的第1至5行的第1至4列存放了五个学生四门课程的成绩,如下函数实现:
①求每个学生四门课程的总成绩,总成绩存放在第0列;
②求每门课程五个学生的平均成绩,平均成绩存放在第0行。
void calculate(float x[][5])
{ int i,j;
float sum;
for (i=1; ①;i++)
{ sum=0;
for (j=1;j<=4;j++)
sum=sum+x[i