第1个回答 2005-11-08
#include<stdio.h>
main()
{
int k,j;
float add,dat[11];
dat[0]=1;
dat[1]=2;
for (k=2;k<=10;k++)
{dat[k]=dat[k-2]+dat[k-1];}
add=0;
for(j=0;j<10;j++)
{add=dat[j+1]/dat[j]+add;}
printf("结果为: %f",add);
}
这个是正确的。程序看着比较清晰、
排列顺序是:1 2 3 5 8 13……
前两个的和等于第三个数字。
一共11项才有定义的dat[11];
dat[0]=1;
dat[1]=2;起始定义的两个基数、
for (k=2;k<=10;k++)
{dat[k]=dat[k-2]+dat[k-1];}生成11位数据列传给dat数组中、
for(j=0;j<10;j++)
{add=dat[j+1]/dat[j]+add;}
也就是这个程序的计算公式
分子从1-11
分母从0-10
利用add=dat[j+1]/dat[j]+add;格式循环。
结果正确、
第2个回答 2005-11-07
#include<stdio.h>
main()
{
int i=0;
float a;
float b[10],c[10],d[10];
b[0]=2.0,b[1]=3.0;
c[0]=1.0,c[1]=2.0;
for(i=2;i<=10;i++)
b[i]=b[i-1]+b[i-2],
c[i]=c[i-1]+c[i-2],
d[i]=c[i]/d[i],a=a+d[i];
printf("\n此数列前10项的和为:%f",a);
}