B099

01-程序填空题 田少松, 软件154 1185浏览

所属年份:2011.9;2012.3;

给定程序中,函数fun的功能是:根据形参i的值返回某个函数的值。当调用正确时,程序输出:
x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000。

注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!

#include  <stdio.h>
double f1(double  x)
{
    return x*x;
}
double f2(double  x, double  y)
{
    return  x*y;
}
/**********found**********/
__1__ fun(int  i, double  x, double  y)
{
    if (i==1)
        /**********found**********/
        return __2__(x);
    else
        /**********found**********/
        return  __3__(x, y);
}

main()
{
    double  x1=5, x2=3, r;
    r = fun(1, x1, x2);
    r += fun(2, x1, x2);
    printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r);
}

【参考答案】

(1)double  
(2)f1  
(3)f2

【解题思路】
填空1:本空函数fun的返回值,根据return可知,不论返回的是f1还是f2,它们的返回值均为double型的,故此空应该填写double。
填空2:因为函数fun的功能是根据形参i的值返回某个函数的值,当i等于1时,应该返回的是f1。
填空3:如果不满足if的话,应该返回的是f2。