niusouti.com

以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算,请填空。y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6 #include "math.h"double fun(double x){ return();}main(){double x,y1,y2; printf("Enter x:"); scanf("%1f,&x); y1=fun(8+x); y2=fun(); printf("y1=%1f,y2=%1f\n",y1,y2);}

题目

以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算,请填空。y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6 #include "math.h"double fun(double x){ return();}main(){double x,y1,y2; printf("Enter x:"); scanf("%1f,&x); y1=fun(8+x); y2=fun(); printf("y1=%1f,y2=%1f\n",y1,y2);}


相似考题
更多“以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算,请填空。y1=(x+8)2-2(x+8)+6y ”相关问题
  • 第1题:

    请编写函数fun(),它的功能是计算:s=(1-In(1)-In(2)-In(3)-…-1n(m))2

    s作为函数值返回。

    在C语言中可调用log(n)函数求In(n)。log函数的引用说明是double log(double x)。

    例如,若m的值为15,则fun()函数值为723.570801。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include <conio.h>

    include <stdio.h>

    include <math.h>

    double fun(int m)

    {

    }

    main()

    {

    clrscr();

    printf("%f\n",fun(15));

    }


    正确答案:double fun(int m) {   int i; double s=1.0; for(i=1;i=m;i++) s=s-log(i); /*计算s=l-In(1)-In(2)-In(3)-…-In(m)*/ return (s*s); /*对s求平方并返回*/ }
    double fun(int m) {   int i; double s=1.0; for(i=1;i=m;i++) s=s-log(i); /*计算s=l-In(1)-In(2)-In(3)-…-In(m)*/ return (s*s); /*对s求平方并返回*/ } 解析:首先,题目要求计算1依次减去1到M的对数,可用从1到M的循环,每次循环都减一个数的对数。该题需要注意,log()函数的形式参数应浩如烟海double型变量,用于循环的基数变量为整数,需要进行强制转换。最后在返回的时求平方。

  • 第2题:

    请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:


    【考点分析】
    本题考查:求数组的最大值,需要运用循环语句,因为数组是二维数组,所以应使用二层for循环嵌套。使用for循环语句时需要注意循环变量的取值范围。
    【解题思路】
    此类求最大值或最小值的问题,我们可以采用逐个比较的方式,要求对数组中所有元素遍历一遍,并且从中找出数组最大值或最小值。首先定义变量max存放数组中的第一个元素的值,然后利用for循环逐个找出数组中的元素,并与max比较,如果元素值大于max,则将该值赋予max,循环结束后max的值即为数组最大值,最后将该值返回。
    【解题宝典】
    该类题目考查较多,要掌握逐行比较的方法。对于m*n二维数组,如采用逐行查找方法,代码实现为:


  • 第3题:

    若主函数中有定义语句:int a[10],b[10],c;,在主函数前定义的fun函数首部为:void fun(int x[ ]),则以下选项中错误的调用语句是( )。

    A.fun(b);

    B.fun(&c);

    C.fun(&a[3]);

    D.fun(b[11]);


    答案:D 
    解析:fun函数的形式参数为一个数组,需要实参为一个地址,而b[11]是一个整型元素,参数类型不一致,且b[11]已经溢出,所以D项错误。 

  • 第4题:

    设在主函数中有以下定义和函数调用语句,且fun函数为void类型。请写出函数fun的头部,要求函数的形参为变量b。main(){ double s[10][22]; int n; …… fun(s); ……}


    正确答案:void fun(double * b)
    数组名是地址值,它通常可以作为指针使用,题中有被调用函数fun(s),而s为double型数组名,所以函数fun的形参类型为double *。

  • 第5题:

    以下程序的主函数中调用了在其前面定义的fun函数

    #include<stdio.h>

    main()

    { double a[15],k;

    k=fun(a);

    .

    .

    .

    }

    则以下选项中错误的fun函数首部是

    A.double fun(double a[15])

    B.double fun(double *a)

    C.double fun(double a[])

    D.double fun(double a)


    正确答案:D
    解析:从主函数中调用fun函数的实参可以看出,形参应该是一个地址,不能省略前面的*号,D)选项的形参为一个double的值,所以不正确。