用VFP編寫程式,計算數列前40項之和 S

時間 2021-08-14 07:09:51

1樓:

將以下程式複製貼上,執行即可

set talk off

pi=1 &&前一項值

ci=0 &&當前值

s=0 &&累計

for i=1 to 40

ci = pi + i-1

pi=ci

s=s+ci/i

endfor

?'數列前40項之和s=',s

我在本機下成功執行,結果也對。

2樓:

dimension a(40),b(40),c(40)a(1)=1

b(1)=1

nadd=1

for i=2 to 40

c(i)=(a(i-1)+b(i-1))

&&分子為上一項分子分母之和

nadd=nadd+c(i)/i

&&nadd為39項累加,第一項已經賦值給nadda(i)=c(i)

b(i)=i

&& 將第i項,a(i)/b(i),分子分母寫進陣列,以便下一次迴圈計算

endfor

?"前四十項和為:",nadd

&&a(i)/b(i) 為任意項值,i=1的一項,i=2第二項高人給個更好的看看,學習學習

3樓:匿名使用者

j=1q=1

s=0for i=1 to 40

s=s+q/i

q=i+q

next

wait wind "s="+str(s,6,2)

4樓:匿名使用者

這樣算不太好.nadd=nadd+c(i)/i可以,也可以算出答案,我想還會有更簡單的方法

c語言程式設計序:計算數列1+1/2+1/3+1/4+...+1/100的和並輸出 幫一下 吧 20

5樓:聽不清啊

#include

int main()

6樓:熊瀅黃星兒

#include

intmain(void)

printf("%lf\n",

count);

return0;}

輸出測試:

5.187378

7樓:匿名使用者

最後輸出一定要%g嗎,用%f行不行

c語言,編寫一程式輸入一個正整數n,計算並輸出s的前n項和,s=1/2-2/3+3/4-4/5+......(-1)n/(n+1)

8樓:匿名使用者

main()printf("sum=%f\n",s);} 拷貝你提問中的**,但是for後邊的分號明顯是手誤,給你改了一下

9樓:鄒孫麗

如果你不把flag 改為float型的話

執行的結果是 0哦

10樓:ms舞動的天使

flag*k/(k+1);flag=flag*(-1)

11樓:匿名使用者

在c語言中,int整形裡,「/」號是除以後去整的意思,這裡如果不修改flag的形式,得出來的1/2 2/3取整後都是0,結果永遠是0。 一句話來說就是,這個題目錯了

c語言程式設計序 /*計算1-1/4+1/7-1/10+1/13-1/16…共n項之和*/

12樓:問明

#include

int main(void)

printf("sum=%.3f",sum);

return 0;

}輸入形式

從鍵盤輸入一個正整數n。

輸入輸出樣例1(下劃線部分表示輸入)

enter n:3

sum=0.893

輸入輸出樣例2(下劃線部分表示輸入)

enter n:10

sum=0.819

13樓:風若遠去何人留

一、演算法分析:

1 分析數列規律。 正負交替,分子為1,分母為1,4,7,10,...

即第n項的分母為3*n-2

2 輸入n,迴圈n次,計算每一項並累加。

#include

int main()

printf("%f\n", r);//輸出結果。

}三、注意事項:

計算每項時,不能用1/(3*n-2) 這樣的話,會按照整型操作,導致結果為0. 用1.0/(3*n-2)或者1/(float)(3*n-2)轉為浮點型,均可。

14樓:

#include

double caculatesum(int n){int i=1;

double sum=0.0;

int flag=1;

for(i=1;i

15樓:匿名使用者

for迴圈用錯了,在計算denominator時應該使用已經更新過的i,所以i++應該放在for迴圈裡面,**如下:

for(i=1;i<=n;)結果:

16樓:匿名使用者

可將demominator=3*i-2;移動到item=flag*1.0/denominator;之前

17樓:

把denominator=3*i-2;移到item=flag*1.0/denominator;前面就妥了……

18樓:匿名使用者

for迴圈改一下

float sum =1.0;

if (n==1) return sum;

for(i=2;i<=n;i++)

else

sum=sum-1/(3n+1);

}return sum;

要求編寫程式,計算交錯序列 1-2/3+3/5-4/7+5/9-6/11+... 的前n項之和,求改錯

19樓:醉酒的李白

lz你好,以下是我編譯的程式,請你看一下:

#include

int main()

printf("%.3lf\n",m);

return 0;

}以上程式在我的作業中顯示編譯正確,希望對你有幫助!

希望你能夠採納!

20樓:匿名使用者

寫得太複雜了,這樣既可。

int main()

printf("%.3f\n",sum);}

21樓:匿名使用者

#include

//這兩個函式完全沒必要用遞迴,即使用,在這裡面變號也會導致錯誤int crisscross(int n)int interlock(int n)

int main()

else

printf("%.3f\n",sum);

return 0;}

22樓:不願相離

#include

int crisscross(int n)int interlock(int n)

int main()

23樓:聆聽

#include

int main()

printf("%.3lf\n",m);

return 0;}

24樓:匿名使用者

設x^(1/6)=y,方程可化簡為:y^3-3y^2=3y-9,移項得y^3-3y^2-3y+9=0,y^2(y-3)-3(y-3)=0,(y^2-3)(y-3)=0,(y-根號3)(y+根號3)(y-3)=0,則y有3個解:根號3,-根號3,3,即x^(1/6)=根號3或-根號3或3,解得x=27(當x^(1/6)=根號3或-根號3時解得的x相同)或729。

c語言程式設計: 計算並顯示下列算式前n項和的值,n由鍵盤輸入: sum=1+1/2+1/3+1/4+

25樓:匿名使用者

#include

int main()

printf ("%f\n", s);

return 0;}

26樓:匿名使用者

#include

int main(void)

用while迴圈語句編寫程式,計算1 200之間的所有3的倍

include int main printf n return 0 這個是for語句 比while 語句要好的多 而且很省時 for i 0 to 200 if i mod 3 0 then sum sum inext doif i mod 3 0 then sum sum iwhile i 20...

用C 語言編寫程式,遞迴函式,用c 編寫程式用遞迴法計算一個整數的所有數字之和

1 在數學上,關於遞迴函式的定義如下 對於某一函式f x 其定義域是集合a,那麼若對於a集合中的某一個值x0,其函式值f x0 由f f x0 決定,那麼就稱f x 為遞迴函式。在程式語言中,把直接或間接地呼叫自身的函式稱為遞迴函式。函式的構建通常需要一個函式或者一個過程來完成。2 遞迴函式 是建立...

用C語言編寫程式資料結構,用C語言編寫程式 資料結構

第5 題 include include define max 256 typedef int list max typedef int elemtype typedef int status define overflow 1 define ok 1 define list init size 8...