问题描述
- 主函数调用副函数问题
-
计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。用主函数来调用它,统计50个学生成绩中,求高于平均成绩的人数
我是这样写的:
#include
int over(float,int);int main(void)
{
int n[50],i,j,t=0;
float a;
printf("请输入成绩:");
for(i=0;i
scanf("%d",&n[i]);
for(i=0;i
t+=n[i];
a=t/50.0;
printf("高于平均成绩的有%d人。",over(a,n);
}
int over(float a,int n[50])
{ int i,j=0;
for(i=0;i
{ if(n[i]>a)
++j;
return(j);
}
编译一直不通过,是我在实参调用上出错了吗?
还有其他的地方有没有错,求解答。
解决方案
开头函数原型和下面的不一致
printf("高于平均成绩的有%d人。",over(a,n);
这里括号不匹配
最后的for循环少一个后花括号
#include<stdio.h>
int over(float,int[50]);
int main(void)
{
int n[50],i,j,t=0;
float a;
printf("请输入成绩:");
for(i=0;i<50;i++)
scanf("%d",&n[i]);
for(i=0;i<50;i++)
t+=n[i];
a=t/50.0;
printf("高于平均成绩的有%d人。",over(a,n));
}
int over(float a,int n[50])
{ int i,j=0;
for(i=0;i<50;i++)
{ if(n[i]>a)
++j; }
return(j);
}
给你修改了下
解决方案二:
如果我的回答有帮助,请点下我回答右边的采纳,谢谢
解决方案三:
第二行代码就错了,声明的时候函数第二个参数为int型,但在定义的时候第二个参数却是一个int型数组。
解决方案四:
函数申明是int 而实际是一个数组
时间: 2024-07-28 16:45:08