c语言分数序列求前20项的和

有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……求出这个数列的前20项之和。

这样吗
#include<stdio.h>
int main(void)
{
int a;
float sum,p[20],q[20];
p[0]=2;
p[1]=3;
q[0]=1;
q[1]=2;
sum = p[0]/q[0]+p[1]/q[1];
for(a=2;a<20;a++)
{
p[a]=p[a-1]+p[a-2];
q[a]=q[a-1]+q[a-2];
sum = sum + p[a]/q[a];
}
printf("%f\n",sum);
return 0;
}