分數數列求和(c語言程式)為什麼答案不對啊

時間 2021-10-17 05:15:05

1樓:

呵呵,主要的問題是sum=sum+a/b,這裡先計算乘除的時候,除了第一次可以等於二,後面全是零的,整型數的原因,把a,b換成float。

2樓:

#include

void main()

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

3樓:

#include "stdio.h"

int fbn(int n)

int main()

4樓:甫桂蘭仝雨

其實這個題目根本不用求出s,也不用擔心它會超出int範圍。

因為是數列,所以就要從數列規律上去找結果。

比如a=1,n=5,s=3.列豎式111

1111111

11111

------

12345

後3位是345.

個位是5,它是怎麼計算出來的?a*n

十位是4,怎麼算出來的?a*(n-1)+個的進位(如果有)百位是3,怎麼算出來的?a*(n-2)+低位的進位(如果有)照這個規律,根本不用計算s。

定義一個陣列int

sm[10].sm[0]儲存個位,sm[1]儲存十位數字就行了,。。。

我沒有寫出完整的程式,只是給你一個思路。自己理解一下,很好寫出**。遇到問題請教是好事。

c語言程式設計數列求和

5樓:匿名使用者

+=的意思就在字面上表示出來了,

inta+=intb表示inta=inta+intb, c語言的簡潔那句**就是sum = sum + (double(b) / a)基礎還是要打紮實

6樓:

這是c語言的語法啊 sum += double(b) / a 等同於 sum = sum + double(b) / a

右邊的sum表示變數sum的地址 因為在等號的左邊所以也稱作左值所以是把 sum的值加上 轉換成double型別的b和a的商 儲存於 sum變數的地址中

明白了嗎?

7樓:

for(a=1,a<11,a++)

for(b=a+1,b<12,b++)

for(c=b+1,a<13,a++)

for(d=c+1,d<14,d++)

for(e=d+1,a<15,e++)

給你個思路,**可能有錯,很久沒寫c了~

8樓:匿名使用者

利用全排列

#include

} else }}

int main()

sum(in, 5, 0);}}

9樓:毛筆

#include

main()

printf("m=%d ",m);

}getch();

}應該對吧我沒怎麼算

C語言程式無法執行,為什麼C語言程式編譯正確但不能執行?

void f int a,int x,int y,int m,int n 前幾行就有錯的,你 a什麼東西?你再仔細檢查檢查,把你的語法錯誤全排除掉。首先要編譯通過 再看看執行 先編譯一下,看看語法錯誤再說 為什麼c語言程式編譯正確但不能執行?編譯正確只是代表程式沒有語法錯誤,無法判斷邏輯錯誤。仔細檢...

為什麼這個c語言程式總是執行是錯誤

茆傅香佘汝 你這程式是不是求單詞數量呀.修改如下 include include include void main printf 字數為 d n c 翟芙聊釵 include stdio.h include intmain printf 字數為 d n c 招金生蹉亥 linking.link f...

用C語言程式設計程式沒有錯誤為什麼結果不對

井鈺 程式可以執行並不表示程式就是正確的 編譯和連線都正確,只能說明編譯器對他進行語法等檢查 沒發現他的錯誤而已,而既然執行結果是錯誤的,那就是說明一點 可能是你的演算法設計的不當,不能正確的解決問題,這樣發生的錯誤 是執行期錯誤,在編譯連線的過程不會出錯的,不過幸好,編譯器也為我們 提供了一些解決...