为什么我这段代码要计算这条式子却算不出来?

img

问题相关代码,请勿粘贴截图
#include<stdio.h>
void main(){
    float t;
    float n;
    printf("请输入n的数值:");
    scanf("%lf",&n);
    t=2/n;
    float *a=new float[n];
    for(int i=0;i<n;i++){
        a[i]=t*i-1;
    }
    //for(i=0;i<10;i++){
        //printf("%f",a[i]);
    //}
    float b[30][30];
    for(int j=0;j<n;j++){
        float s=1+25*a[j]*a[j];
        b[j][1]=1/s;
    }
    for(i=0;i<n;i++){
        printf("%f\n",b[j][1]);
    }
}

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include<stdio.h>
double f(double x)
{
    return 1/(1+25*x*x);
}
int main()
{
    double a[30],p=1;
    for(int j=0; j<30; j++)
        a[j]=f(p++);
    for(int j=0; j<30; j++)
        printf("%d  %lf\n",j+1,a[j]);
    return 0;
}
float s=1+25*n*n;
float  b=1/s;
printf("%f\n",b);

你这代码是啥啊,你直接按照那个公式不不行???