分數數列求和(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語言執行結果亂碼怎麼解決?

億華聯眾 你寫 時的編碼不正確,如果有中文有有可能出現亂碼 編碼問題,有的編碼不支援中文,在編寫時更改下原始檔的編碼即可,一般都是utf 8編碼。 小痞子 你在最後的那個函式裡 在沒有輸入之前呼叫了輸出函式printf 而a和b在為輸入之前 裡面的值是不確定的,也就是隨機的 夜黑黎 可能有漢字 陣列...

c語言程式 i 3,k(iii為什麼k

仙戈雅 樓上的兄弟都已分析過了,如果你學過資料結構中的棧就會學逆波蘭演算法。這道題就是典型的逆波蘭問題。這先是執行i i i 3 3 3 9 最後執行了3次i 第一次i 4 第二次i 5 第三次i 6 這是i 和 i的區別。舉個例子吧 x 1 y 0 y x 那麼y 1 同樣 x 1 y 0 y x...

c語言這段括號匹配程式為什麼是錯的

標頭檔案 另存為seqstack.h typedef struct seqstack void stackinitiate seqstack s 初始化順序堆疊s int stacknotempty seqstack s 判順序堆疊s非空否,非空則返回1,否則返回0 int stackpush se...