代码是对的,但是为什么在i<=n后再加个i<=MAXN,在PTa上就显示错误了?

  1. #include <math.h>
    double  f(int n,double a[],double x)
    {
        double sum=0.00,hum=0.00;
        for(int i=0;i<=n;i++)
        {    
            hum=pow(x,i);
            sum=sum+a[i]*hum;
        }
        return sum;
    }

#include <stdio.h>

#define MAXN 10

double f( int n, double a[], double x );

int main()
{
    int n, i;
    double a[MAXN], x;

    scanf("%d %lf", &n, &x);
    for ( i=0; i<=n; i++ )
        scanf(“%lf”, &a[i]);
    printf("%.1f\n", f(n, a, x));
    return 0;
}

/* 你的代码将被嵌在这里 */

你加了i<=MAXN后的代码是什么样子呢?贴出来

 MAXN是固定值,也是数组a的长度上限值。主函数里数组a的长度是根据输入的n值来确定的,这里n<=MAXN , f()函数里,这个n必须和主函数的对得上,不然f()函数里的操作就乱套了,还能得到准确的结果?