请编写函数fun(),该函数的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如x有5门课程的成绩是90.5,72,80,61.5,55,则函数的值为71.80。注意:部分源程序给出如下.请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <stdio.h>float fun (float *a, int n){}main (){float score[30]=(90.5,72,80,61.5,55},aver;aver=fun(s

题目

请编写函数fun(),该函数的功能是:计算n门课程的平均分,计算结果作为函数值返回。

例如x有5门课程的成绩是90.5,72,80,61.5,55,则函数的值为71.80。

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

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

试题程序:

include <stdio.h>

float fun (float *a, int n)

{

}

main ()

{

float score[30]=(90.5,72,80,61.5,55},

aver;

aver=fun(score, 5);

printf("\nAverage score is: %5.2f

\n",aver);

}


相似考题
参考答案和解析
正确答案:float fun (float *a int n) { float av=0.0; int i; for(i=0;i av=av+a[i]; /*求分数的总和*/ return (av/n); /*返回平均值*/ }
float fun (float *a, int n) { float av=0.0; int i; for(i=0;i av=av+a[i]; /*求分数的总和*/ return (av/n); /*返回平均值*/ } 解析:我们先按数学的思路来计算平均分:总分除以人数即可得到平均分,其实用C语言的指针来实现该问题,也不难。当指针变量指向一个数组时,用该指针变量引用数组元素时,引用方式与数组的引用方式相同。如本题中a指向了score,所以通过a引用score中的元素时可以用下标法,也可以用指针运算法,a[i]和*(a+i)具有相同的作用。下标运算实际上是从当前地址开始往后取出地址中的第几个元素,当前地址下标为0。例如:若有int cc[10],*P=cc+5;,即p指向了cc的第5号元素,则p[0]的作用是取出从当前地址(即p所指地址)开始的第0号元素,它与cc[5]相同:p[3]的作用是取出从当前地址(即p所指地址)开始往后的第3号元素,它与cc[8]相同:p[-2]的作用是取出从当前地址开始往前的第2号元素,它与cc[3]相同,但不提倡使用“负”的F标。
更多“请编写函数fun(),该函数的功能是:计算n门课程的平均分,计算结果作为函数值返回。 例如x有5门课程 ”相关问题
  • 第1题:

    某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

    例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。注意:部分源程序在文件PROGl.C中。

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


    正确答案:
    voidfun(STREC*a)inti:a一>ave=0.0:fbr(i=0;i<N;i++)a一>ave=a—>ave+·一>s[i];/*求各门成绩的总和}/a->ave/=N;/}求平均分*/}【考点分析】本题考查:结构体类型成员运算,指向结构体类型的指针变量作函数参数。【解题思路】本题考查自定义形参的相关知识点,程序流程是这样的:在如n()函数中求出平均分后,返回到主函数时平均分也要带回,所以只能定义一个指针类型的形参STREC·a,此时,引用成员的方式可以使用指向运算符,即a一>ave和a—>s[i],当然也可用(*a),ave和(*a).S[i]。

  • 第2题:

    给定程序MODll.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第l门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第l门课程的平均分是:76.125000

    请改正函数fun中指定部位的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:


    正确答案:
    (1)doublesum改为doublesunl=0.0;(2)for(i=0;i<2;i*)改为细(i=0;i<n;i++);(3)sum+=ad[i].scom[1]改为sum+=羽[i].score[0];【考点分析】主要考察桩时变量初始化,c语言里临时变量不初始化,它的默认值是不确定的一个值。再者,考察C语言约定数组的下标是从0开始的。【解题思路】(1)doubleⅫ改为double8am=0.0;累加求和需要初始化累加结果的临时变量。(2)for(i_0;i<2;i++)改为for(i_0;i<n;i++);共有11个学生的成绩,需要累加所有学生第一门课的成绩。(3)sum+.std[i].BCOl.e[1]改为8am+=8td[i].score[0];第1门课程的平均分,c语言的下标是从0开始的。

  • 第3题:

    编写函数fun(),其功能是计算:

    s作为函数值返回。

    在C语言中可调用log(n)函数求1n(n)。log函数的引

    用说明为:double log(double x)。

    例如,若m的值为20,则fun()函数值为6.506583。

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

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

    试题程序:


    正确答案:


    【解析】题目要求写出程序实现数学表达式的功能,需要用for循环计算累加的结果,调用sqrt函数实现求平方根。循环变量的范围是1~m,每次循环都进行一次累加求和。需要特别注意的是,log函数的形式参数为double型变量,用于循环的计数变量为整数,所以必须强制转换。最后返回所求出的平方根。

  • 第4题:

    N名学生的成绩已在主函数中放人一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。

    例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。注意:部分源程序在文件PROGl.C中。

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


    正确答案:
    【考点分析】本题考查:链表的操作,对链表的主要操作有以下几种:建立链表、结构的查找与输出、插入一个结点、删除一个结点。【解题思路】题目要求求链表中数据域的平均值,应首先使用循环语句遍历链表,求各结点数据域中数值的和,再对和求平均分。遍历链表时应定义一个指向结点的指针P,因为“头结点”中没有数值,所以程序中让P直接指向“头结点”的下一个结点,使用语句STREC+P=h÷next。

  • 第5题:

    请教:2016年计算机二级考试C++模拟试题简答题7答案

    请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。


      float fun(float *a,int n)

      {float ave=0.0;

      int i;

      for(i=0;i

      ave+=a;

      ave/=n;

      return ave;}