| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 904 人关注过本帖
标题:编写一个函数,int fun(int score[],int m,int below[])
取消只看楼主 加入收藏
我是殊帕面
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2014-3-30
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
编写一个函数,int fun(int score[],int m,int below[])
如题编写一个int fun(int score[],int m,int below[])函数,score[]用来存放成绩,m代表学生人数,below[]用来存放低于平均分的成绩。
#include<stdio.h>
 int main()
 {
     int fun(int score[],int m,int below[]);
     int i,m,score[m],aver;
     printf("intput m:\n");
     scanf("%d",&m);
     printf("intput scores:\n");
     for(i=0;i<m;i++)
     scanf("%d",&score[i]);
    aver=fun(score,m,below);
    fun(score,m,below);
     for(i=0;i<m;i++)
     printf("%d",below[i]);
 }
 int fun(int score[],int m,int below[])
 {
     int sum=score[0],i,j=0,aver;
     for(i=1;i<m;i++)
     sum=sum+score[i];
     aver=sum/m;
     for(i=0;i<m;i++)
     if(score[i]<aver)
     below[j++]=score[i];
     return aver;
 }
error: `below' was not declared in this scope
warning: no newline at end of file
有好多错误但不知道要怎样改
搜索更多相关主题的帖子: include scores 
2014-04-02 13:34
我是殊帕面
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2014-3-30
收藏
得分:0 
#include<stdio.h>
 int main()
 {
     int fun(int score[],int m,int below[]);
     int i,m,score[m],below[m];
     printf("intput m:\n");
     scanf("%d",&m);
     printf("intput scores:\n");
     for(i=0;i<m;i++)
     scanf("%d",&score[i]);
    m=fun(score,m,below);
     for(i=0;i<m;i++)
     printf("%d",below[i]);
 }
 int fun(int score[],int m,int below[])
 {
     int i,j=0,aver=0;
    for(i=0;i<m;i++)
    aver+=score[i];
     aver/=m;
    for(i=0;i<m;i++)
     if(score[i]<aver)
     below[j++]=score[i];
     return j;
  }
改了一下可是还是运行不了,有人可以教教我吗?
2014-04-02 14:06
我是殊帕面
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2014-3-30
收藏
得分:0 
谢谢大家!我做出来了,第一次发帖,请见谅。
#include<stdio.h>
int main()
{
     int fun(int score[],int m,int below[]);
     int i,m;
     printf("intput the number of the students:\n");
     scanf("%d",&m);
     int score[m],below[m];
     printf("intput scores:\n");
     for(i=0;i<m;i++)
     scanf("%d",&score[i]);
     m=fun(score,m,below);
     printf("below average grades:\n");
     for(i=0;i<m;i++)
     printf("%d\n",below[i]);
     printf("the number of below average is:%d\n",m);
}
int fun(int score[],int m,int below[])
{
    int i,j=0,aver=0;
    for(i=0;i<m;i++)
    aver+=score[i];
    aver/=m;
    for(i=0;i<m;i++)
    if(score[i]<aver)
    below[j++]=score[i];
    return j;
  }
我只会这样做了(我是学渣),不知道大家有没有更好的方法呢?可以教我吗?
最后附上题目:m个人的成绩存放在score数组中,编写函数int fun(int score[],int m,int below[]),功能是将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。如score数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为:10、20、30、40。
谢谢!!!
2014-04-02 17:18
我是殊帕面
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2014-3-30
收藏
得分:0 
回复 10楼 LCwan
第13行 for(i=0;i<=aver;i++),目测是多了个等号
2014-04-03 15:50
我是殊帕面
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2014-3-30
收藏
得分:0 
我可以说我的input打错了吗?
2014-04-03 23:20
快速回复:编写一个函数,int fun(int score[],int m,int below[])
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017747 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved