数组那里为啥报错 友友们看一下

#include <stdio.h>
#include <stdlib.h>
int a[600];
int main()
{
int a,n,i;//a是几组测试数据,n是几等分
scanf("%d",&a);
for(i=1;i<=a;i++){
scanf("%d",&n);
if(n%2==1)
报错 a[i]=(n+1)(2nn+3n-1)/8;
else if(n%2==0)
a[i]=n
(n+2)(2n+1)/8;
}
for(i=1;i<=a;i++){
printf("%d\n",a[i]);
}
return 0;
}

2nn之间是不是差个*?我不太懂好像是吧

数字和字母之间要加符号