标题:一个数组函数的问题
只看楼主
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
结帖率:81.82%
已结贴  问题点数:16 回复次数:11 
一个数组函数的问题
#include<stdio.h>
#define N 10
int main()
{ float score[N],below[N];
  int count,i;
  for(i=0;i<N;i++)
     scanf("%d",score[i]);
  count=fun(score,below,N);
  for(i=0;i<count;i++)
    printf("%f ",below[i]);
  printf("\ncount=%d\n",count);
  return 0;
}
int fun(float fen[],float *p,int m)
{ int i,count;
  count=0;
  float avrage,s=0;
  for(i=0;i<m;i++)
    s+=fen[i];
  avrage=s/m;
  for(i=0;i<m;i++)
    if(fen[i]<avrage)
      { ++count;
        *p++=fen[i];
      }
  return count;
}
程序运行时提示:表达式语法错在函数fun中,未定义的符号's','avrage'在函数fun中。
哪位大侠帮我看看是啥问题。
搜索更多相关主题的帖子: include return count 
2011-01-27 21:38
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
得分:0 

编程题目是:
m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中

请问该程序有什么问题
2011-01-27 21:55
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
得分:4 
把int fun()这块函数放在main函数前面就行了,
或者在main函数里写个int fun(float fen[],float *p,int m);

勤能补拙,熟能生巧!
2011-01-28 12:24
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
得分:0 
职业侠客你好:你给的方法不对,照样提示说明语法错误。我已在main函数中声明了int fun(float fen[],float *p,int m);
2011-01-28 16:34
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
得分:0 
那我不知道,我运行可以,可能是你编译器的问题了

勤能补拙,熟能生巧!
2011-01-28 16:56
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
得分:0 
我在非TC环境中运行也是错误的,哎!
2011-01-28 17:19
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:4 
s+=fen[i];
这句中的s,你程序哪个地方定义了?

我们都在路上。。。。。
2011-01-28 17:45
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
得分:0 
s在fun函数中不是定义了吗?并且还赋了初值0
那两张图上不是也定义了s,s在fun 函数中。
2011-01-28 18:50
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
得分:0 
我贴出来的代码(非图片),除了给数组score赋值通过scanf()函数时少写了"&"这个外,再就是使用fun()函数没有声明外,其它的倒没什么问题。

在图片显示的代码中,使用scanf()函数时给score数组赋值时少了"&"外,但这个倒没什么影响,加上去之后行运还是显示说明语法错误。
2011-01-28 19:05
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
得分:4 
程序代码:
#include<stdio.h>
#define N 10
int fun(float fen[],float *p,int m);   //C语言规定

int main()
{ float score[N],below[N];
  int count,i;
  for(i=0;i<N;i++)
     scanf("%f",&score[i]);   //输入一个浮点,
  count=fun(score,below,N);
  for(i=0;i<count;i++)
    printf("%f ",below[i]);
  printf("\ncount=%d\n",count);
  return 0;
}
int fun(float fen[],float *p,int m)
{ int i,count;
  float avrage,s=0;        //这个旧版C语言支持这样的格式

  count=0;
    for(i=0;i<m;i++)
    s+=fen[i];
  avrage=s/m;
  for(i=0;i<m;i++)
    if(fen[i]<avrage)
      { ++count;
        *p++=fen[i];
      }
  return count;
}


[ 本帖最后由 点线面 于 2011-1-28 19:24 编辑 ]

小代码,大智慧
2011-01-28 19:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-331661-1-1.html




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

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