注册 登录
编程论坛 C++教室

一个编程出错了,帮忙找下错

hsdsxyb 发布于 2013-05-14 08:38, 841 次点击
#include
int main()
{float average(float array[]);
int n;
scanf("%d",&n);
float a[5],aver;
int i;
for(i=0;i<5;i++)
scanf("%f",&a[i]);
printf("\n");
aver=average(a);
printf("%5.2f\n",aver);return 0;
}
float average(float array[]);
{
int i;
float aver;
sum=array[0];
for(i=0;i<N;I++)
sum=sum+array[i];
aver=sum/n;
return(aver);
}
9 回复
#2
不要脸的猫2013-05-14 08:58
头文件,全局变量:N,n?
#3
hsdsxyb2013-05-14 09:14
回复 2楼 不要脸的猫
头文件?说清点,不理解
#4
hsdsxyb2013-05-14 09:16
回复 3楼 hsdsxyb
知道了,但改之后还不行
#5
xufan2013-05-14 10:48
给你改过了,编译能通过,逻辑我不做决断哈
程序代码:
#include <STDIO.H>

float average(float array[],int N);
int main()
{

    int n;
    scanf("%d",&n);
    float a[5],aver;
    int i;
    for(i=0;i<5;i++)
        scanf("%f",&a[i]);
    printf("\n");
    aver=average(a,n);
    printf("%5.2f\n",aver);
   
    return 0;
}

float average(float array[],int N)
{
    int i;
    float aver,sum;
    sum = 0;
    for(i=0;i<N;i++)
        sum=sum+array[i];
    aver=sum/N;
    return(aver);
}

#6
邓士林2013-05-14 11:59
#include这个可不行,编译头文件都没有,系统怎么弄呢?
#include <iostream.h>你这个整个输入输出都是c的用法,加上#include "stdio.h"
#7
默语在江湖2013-05-14 20:52
加头文件,必须的
#8
bccn新2013-05-14 21:59
有三处错,C语言中主函数中函数声明和变量定义必须放在函数开头,所以“scanf("%d",&n);”必须放在int i 后面。还有下面的求平均数函数sum多加了一个array[0],还有一个N是啥?
#9
w天然呆x2013-05-15 14:26
#include//头文件<stdio.h>没有写。
 int main()
 {float average(float array[]);
 int n;
 scanf("%d",&n);
 float a[5],aver;
 int i;
 for(i=0;i<5;i++)
 scanf("%f",&a[i]);
 printf("\n");
 aver=average(a);
 printf("%5.2f\n",aver);return 0;
 }
 float average(float array[]);//少了个形参N,你后面用了,但漏声明了。
 {
 int i;
 float aver;
 sum=array[0];//改为sum=0;要不然就重复加了一个array[0].
 for(i=0;i<N;I++)
 sum=sum+array[i];
 aver=sum/n;
 return(aver);
 }
//**************************************
//就是你要把实参array,n对应传给形参a,N然后认真点就可以了
#10
ouyangyang2013-05-20 23:29
#include<stdio.h>

int N;
int main()
{
float average(float array[]);
/*
int n;*/                    //定义成全局变量
printf("please input N:");
scanf("%d",&N);               
float a[100],aver;
int i;
printf("please input the number:");
for(i=0;i<N;i++)
scanf("%f",&a[i]);
printf("\n");
aver=average(a);
printf("%5.2f\n",aver);

return 0;
}

float average(float array[])                  //此处不用加引号
{
int i;
float aver;
/*
sum=array[0];*/                        //此处错误,多加了一个array[0] ,应修改为“sum=0;”即初始化
float sum=0;
for(i=0;i<N;i++)                      //此处i++错些为I++,注意大小写!!
sum=sum+array[i];
aver=sum/N;
return(aver);
}
//可以运行了
1