m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回。 10

例如,当score数组中的数据为:102030405060708090时,函数返回的人数应该是4,below中的数据应为:10203040。注意:部分源程序给出如下。请勿... 例如,当score 数组中的数据为:10 20 30 40 50 60 70 80 90 时,函数返回的人数应该是4,below中的数据应为:10 20 30 40。
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序。
#include <string.h>
#include <conio.h>
#include <stdio.h>
/*第一个for()循环用来计算score数组中分数的总和,然后用aver/=m求出平均值,第二个循环用来找出小于平均分的元素,并放到数组below中,这里要注意j的递增方式。*/
int fun(int score[],int m, int below[])
{

}
main()
{ int i,n,below[9];
int score[9]={10,20,30,40,50,60,70,80,90};
clrscr();
n=fun(score,9,below);
printf("\nBelow the average score are :");
for(i=0;i<n;i++) printf("%4d",below[i]);
}
展开
 我来答
路尧家的顾小言
2019-09-10 · TA获得超过9395个赞
知道答主
回答量:336
采纳率:100%
帮助的人:4.7万
展开全部

fun函数代码:

int fun(int score[],int m, int below[])

{float sum=0,ave=0;  

int i, n=0;//n: 低于平均分的人数,返回值

for(i=0;i<9;i++)

{sum+=score[i];}

ave=sum/m;

for(i=0;i<9;i++)

{if(score[i]<ave)

{n++;
below[i]=score[i];}}

printf("低于平均分的人数=%d",n);

return(n);}

带入主函数,运行结果如下:

扩展资料:

在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。但是如果是在主函数中碰到return语句,那么整个程序就会停止,退出程序的执行。

函数的返回值是由返回语句return实现的,函数执行的最后一个操作就是返回,返回的意义是:

1、子程序函数返回主调函数,宣告函数的一次执行结束,在调用期间所分配的变量单元被撤消;

2、送函数值到调用表达式中,当然这一点并不是必需的,因为有些函数有返回值,有些函数没有返回值。

albumin
2014-12-06 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2342万
展开全部
int fun(int score[],int m, int below[])

    int i,j=0;
    double average,sum=0;
    for(i=0;i<m;i++)
      sum+=score[i];
    average=sum/m;
    for(i=0;i<m;i++)
    {
        if(score[i]<average)
             below[j++]=score[i];
    }
    return j;
}
追问

追答
你们老师用的也是Visual C++吗
你要求的是不能改main函数,请你只使用你给出的main函数,不加其它语句,看它能不能运行
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式