C语言 菜鸟问题

作者&投稿:主种 (若有异议请与网页底部的电邮联系)
C语言 菜鸟问题~

VC 中没有complex.h头文件,也么哦哟扑complex的数据类型,所以无法通过编译。

#include
int main ()
{
int a,n,t=1;
while(scanf("%d",&n)!=EOF&&n<10)
{
for(a=1;a<=n;a++)
{ t=t*a;}
printf("%d
",t);
t=1;//重新初始化
}
return 0;
}

分析这个数列的分子分母,明显看出分母等于项数(n),第n项的分子等于前一项(n-1)的分子和分母相加。设分母是a(n)=n,分子式b(n)。于是,第n项我们可以这样表示:[a(n-1)+b(n-1)]/a(n)。又因为是要求前二十项,所以选择for循环实现,分子分母分别用两个整形数组表示。最后的结果用一个浮点型的数表示。
#include<stdio.h>
main()
{
int a[20],b[20];float c=0.5;int i;
a[0]=1;b[0]=2;
for(i=1;i<20;i++)
{
a[i]=i+1;b[i]=b[i-1]+a[i-1];
c=c+b[i]/a[i];
}
printf("%f",c);
}

已测试通过。

设分子为A[20],分母为B[20]
初始值如下 A[0]=2; B[0]=1;B[1]=2;
规则如下A[i]=A[i-1]+B[i-1]; B[i]=B[i-1]+B[i-2];

算法都给你了,程序自己写