Gordonewqewq 2016-04-16 17:51 采纳率: 50%
浏览 1445
已采纳

新人问一个有关c语言的问题

输入num名学生的成绩并计算平均数
请问我的代码哪错了?我看了好久不知道怎么改

#include
#include
#define n 40

float Average(int a[],int n);
void Readscore(int a[],int n);
int main()
{
int a[n];
float aver,num;
printf("人数:");
scanf("%d", &num);
Readscore(a,num);
aver=Average(a,num);
printf("%f",aver);
return 0;
}
//读取学生成绩
void Readscore(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("请输入成绩:\n");
scanf("%d",&a[i]);
}
}
//计算平均数
float Average(int a[],int n)
{
int i,sum=0;
float aver;
for(i=0;i<n;i++)
{
sum=sum+a[i];
}
aver=(float)sum/n;
return aver;
}
编译器提示:
1.float Average(int a[],int n);
void Readscore(int a[],int n);
这两句声明里的错误:数字常量之前的语法错误
2.Readscore函数scanf那行有错
3.sum=sum+a[i] 那行有错
4.下面开始写float Average(int a[],int n){}
void Readscore(int a[],int n){}的开头处有错

  • 写回答

3条回答 默认 最新

  • herozhangbz 2016-04-16 23:41
    关注

    你的两个函数里的参数变量错了,你已经在文件头声明n是常数,后面两个函数定义的时候又int n这本身编译不会错,但是你使用函数的时候是把那个作为传参变量使用。所以你函数里你可以换个名字,比如int m

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64