我是用dev c++运行这段代码的,可是不论我怎么该,它只能输出296个值,好像只能循环256次,这是为什么呢?谢谢谢谢啊。
#include"stdio.h"
#include"math.h"
//#define M 11
#define pi 3.14
float X[29]={0};
float Y[1]={0};
float B[29]={
-0.001822523074,-0.001587929321,1.226008847e-18, 0.003697750857, 0.008075430058,
0.008530221879,-4.273456581e-18, -0.01739769801, -0.03414586186, -0.03335915506,
8.073562366e-18, 0.06763084233, 0.1522061825, 0.2229246944, 0.2504960895,
0.2229246944, 0.1522061825, 0.06763084233,8.073562366e-18, -0.03335915506,
-0.03414586186, -0.01739769801,-4.273456581e-18, 0.008530221879, 0.008075430058,
0.003697750857,1.226008847e-18,-0.001587929321,-0.001822523074
};
float x_sum=0;
int main()
{
int i,j,k;
float num=0;
for(k=0;k<300;k++) //就是这里,怎么改k,都好像只循环256次。
{
for(j=0;j<29;j++)
{
x_sum=x_sum+B[j]*X[j];
}
Y[0]=x_sum;
for (i=28;i>0;i--)
{
X[i]=X[i-1];
}
num++;
X[0]=sin(2.0*pi*50.0*num/1000.0)+sin(2.0*pi*200.0*num/1000.0);
printf("%f\n",X[0]);
x_sum=0;
// printf("%f\n",Y[0]);
}
return 0;
}
|