2 ouyixi ouyixi 于 2017.01.01 11:57 提问

新手求助,c语言数据类型不匹配

#include
int Readscore(float b[]);
float Average(int x,float b[]);
int high(float a,float b[]);
#define N 40
int main()
{
int n,y;
float m,score[N];
y=Readscore(score[N]);
m=Average(y,score[N]);
n=high(m,score[N]);
printf("成绩高于平均分的人数为:%d",n);
return 0;
}
int Readscore(float b[])
{
int i=-1;
do
{
i++;
printf("请输入学生的成绩: ");
scanf("%f",&b[i]);
}while(b[i]>=0);
return i;
}
float Average(int x,float b[])
{
float sum=0;
int i;
for(i=0;i<x;i++)
{
sum=sum+b[i];
}
return sum/x;

}
int high(float a,float b[])
{
int i;
for(i=0;b[i]>a;i++);
return i;
}
图片说明

10个回答

guwei4037
guwei4037   Ds   Rxr 2017.01.01 12:20

y = Readscore(**&**score[N]);
m = Average(y, &score[N]);
n = high(m, &score[N]);

zxg68
zxg68   2017.01.01 12:32

y=Readscore(score);
m=Average(y,score);
n=high(y,m,score);

int high(int n,float a,float b[])
{
int i, s;
for(i=0;i if (b[i]>a) s++;
return s;
}

ouyixi
ouyixi   2017.01.01 11:55

程序目的:统计高于平均分同学的人数

Pengpeng2179
Pengpeng2179   2017.01.01 11:58

函数调用错了,数组参量只需要将数组名作为参量即可,若是要从数组的某个元素开始,就需要采用取地址的方式作为参数

Pengpeng2179
Pengpeng2179   2017.01.01 12:03

还有,你的函数并没有由参数告知数组长度,会出现数组越界的情况

Pengpeng2179
Pengpeng2179   2017.01.01 12:06

最后一个函数,乱来啊,你自己看下逻辑吧……

ouyixi
ouyixi 对对,有时候能正确判断出来人数,有时候就不行
12 个月之前 回复
ouyixi
ouyixi   2017.01.01 12:46

谢谢各位的回答,犯了好低级的错误

ouyixi
ouyixi   2017.01.01 13:36

![图片说明](http://img.ask.csdn.net/upload/201701/01/1483248955_584476.png)图片说明 为什么会出现这些结果

ouyixi
ouyixi   2017.01.01 13:34

图片说明

dongfenghuojian
dongfenghuojian   2017.01.01 14:22

修改为:
#include
int Readscore(float b[]);
float Average(int x,float b[]);
int high(float a,float b[]);
#define N 40
int main()
{
int n,y;
float m,score[N];
y=Readscore(score[]);
m=Average(y,score[]);
n=high(m,score[]);
printf("成绩高于平均分的人数为:%d",n);
return 0;
}
int Readscore(float b[])
{
int i=-1;
do
{
i++;
printf("请输入学生的成绩: ");
scanf("%f",&b[i]);
}while(b[i]>=0);
return i;
}
float Average(int x,float b[])
{
float sum=0;
int i;
for(i=0;i {
sum=sum+b[i];
}
return sum/x;
}
int high(float a,float b[])
{
int i;
for(i=0;b[i]>a;i++);
return i;
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!