请大家看看我的程序设计哪里出了问题
问题是:输入n(n<10)和a,计算下面数列前n项的和:
S=1/a+ (-2/a^2) +(3/a^3).......+(n*(-1)^(n-1)/a^n)
下面是我编写的代码,但是代入数值之后计算结果不对,我也找不出问题,请各位大佬帮我瞅瞅{:5_92:}
# include<stdio.h>
int main()
{
int n,a,k;
float S;
k=1;
scanf("%d %d",&a,&n);
S=1/a;
while(k!=n)
{
k=k+1;
S=S+(k*((-1)^(k-1))/a^k);
}
printf("S=%f\n",S);
return 0;
} a为int,初始化S的时候要用 1.0/a 平方要用pow函数啊。。。。。。。 在c语言中"^"代表异或,而不是平方,平方要用到pow函数,这么说你懂了么。{:10_254:} S=1/( (double)a );
只换个这,看看对不对?
页:
[1]