2015年计算机二级C语言上机操作题及答案(82)
发布时间:2011/7/22 10:17:50 来源:城市学习网 编辑:ziteng
第一题:请补充fun函数,函数的功能是:打印出1~1000中满足个位数字的立方等于其本身的所有数。本题的结果为:1 64 125 216 729.
仅在横线上填入所编写的若干表达式或语句,勿改动函数中其他函数任何内容。
#include
main()
{
int i, g;
for (i=1; i<1000; i++)
{
g = ___1___;
if (___2___)
printf("M", i);
}
}
答案:
第一处:i
第二处:g*g*g==i或i==g*g*g [NextPage] 第二题:下列给定程序中,函数fun的功能是:计算整数n的阶乘。
请改正程序中的错误或在横线上填上适当的内容并把横线删除,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结果。
#include
double fun(int n)
{
double result = 1.0;
/********found********/
while (n>1 && n<170)
result *= --n;
/********found********/
___填空___
}
main()
{
int n;
printf("Enter an integer: ");
scanf("%d", &n);
printf("\n\n%d!=%1g\n\n", n, fun(n));
}
答案:
第一处:result*=--n;应该为result*=n--;
第二处:应填result[NextPage] 第三题:请编写一个函数fun,它的功能是:计算n门课程的平均数,计算结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为71.80.
请勿改动主函数main和其他函数中哦的任何内容,仅在函数fun的花括号填入所编写的若干语句。
#include
float fun ( float *a, int n )
{
}
main()
{
float score[30]={90.5,72,80,61.5,55}, aver;
FILE *out;
aver=fun(score,5);
printf("\nAverage score is :%5.2f\n",aver);
out=fopen ("out.dat", "w");
fprintf(out, "%5.2f",aver);
fclose (out );
}
答案:
float fun ( float *a, int n )
{
float ave=0.0;
int i;
for(i=0;i ave+=a[i];
ave/=n;
return ave;
}