9月全国计算机二级C语言程序设计上机模考试卷1
一、填空题
请补充main函数,该函数的功能是:计算每个学生科目的平均分,并把结果保存在数组bb中。
例如,当score[N][M]={{78.5,84,83,65,63},{88,91.5,89,93,95},{72.5,65,56,75,77}}时,三个学生的平均分为:74.7 91.3 69.1。
仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容。
#include
#define N 3
#define M 5
main()
{
int i, j;
static float score[N][M] =
{
{78.5, 84, 83, 65, 63},
{88, 91.5, 89, 93, 95},
{72.5, 65, 56, 75, 77}
};
float bb[N];
for (i=0; i<="" p="">
___1___;
for (i=0; i<="" p="">
{
for (j=0; j<="">
___2___;
bb[i] /= M;
}
for (i=0; i<="" p="">
printf("\nstudent%d\taverage=%5.1f", i+1, bb[i]);
}
参考答案:
1、bb[i]=0 或 *(bb+i)=0
2、bb[i]+=score[i][j] 或bb[i]=b[i]+score[i][j] 或bb[i]=score[i][j]+bb[i]
二、改错题
下列给定程序中,函数fun的功能是:根据整型行参m,计算如下公式的值。
y=
例如,若m=2000,则应该输出:0.000160。
请改正程序中的错误,使它能得出正确的结果。
#include
#include
/********found********/
fun(int m)
{
double y = 0, d;
int i;
/********found********/
for (i=100, i<=m, i+=100)
{
d = (double)i*(double)i;
y += 1.0/d;
}
return (y);
}
main()
{
int n = 2000;
printf("\nThe result is %lf\n", fun(n));
}
参考答案:
1、fun(int m)应改为 double fun(int m)
2、for(i=100,i<=m,i+=100)应改为for(i=100;i<=m;i+=100)
三、编程题
请编写函数fun,该函数的功能是:统计个年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余依此类推,把100岁(含100)以上年龄的人数都放在d[10]中。结果在主函数中输出。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#define N 50
#define M 11
void fun(int *a, int *b)
{
}
double rnd()
{
static t=29, c=217, m=1024, r=0;
r=(r*t+c)%m;
return((double)r/m);
}
main()
{
int age[N], i, d[M];
FILE *out ;
for(i=0; i<="" p="">
age[i]=(int)(115*rnd());
printf("The original data :\n");
for(i=0; i<="" p="">
printf((i+1)%10==0?"%4d\n":"%4d",age[i]);
printf("\n\n");
fun( age, d);
out=fopen ("out.dat","w");
for(i=0;i<10;i++)
{
printf("%4d---%4d : %4d\n", i*10, i*10+9, d[i]);
fprintf(out, "%4d---%4d : %4d\n", i*10, i*10+9, d[i])
c语言将结果原模原样输出到文件 9月全国计算机二级C语言程序设计上机模考试卷1.docx...