求助 数组定义问题
求和1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ... 输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000),求该多项式的前n项的和。
对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保留2位小数。
EX 输入 2
1 2
输出1.00
0.50
以下是代码
#include<stdio.h>
#include<math.h>
int main()
{
double sum;
int j=0,i,k;
int m;
scanf("%d",&m);
int a[m];
double b[m];
for(k=0;k<m;k++)
{
scanf("%d",&a[k]);
sum=0;
for(i=1;i<=a[k];i++)
{
sum+=pow(-1,i+1)*1.0/i;
b[j]=sum;
}
j++;
}
for(j=0;j<m;j++)
{
printf("%.2lf\n",b[j]);
}
}
OJ上说编译错误
0_0_18639938_32407.c(9) : error C2057: 应输入常量表达式
0_0_18639938_32407.c(9) : error C2466: 不能分配常量大小为 0 的数组
0_0_18639938_32407.c(9) : error C2133: “a”: 未知的大小
0_0_18639938_32407.c(10) : error C2057: 应输入常量表达式
0_0_18639938_32407.c(10) : error C2466: 不能分配常量大小为 0 的数组
0_0_18639938_32407.c(10) : error C2133: “b”: 未知的大小