c語言中求前N項和

2021-10-06 17:39:03 字數 1133 閱讀 3238

功能:計算機對輸入的乙個資料n進行前n項計算,然後計算機進行詢問是繼續輸入資料進行一次計算還是停止計算。

程式:

#include 

int sum

(int a)

;int again_sum

(char *w)

;int main()

int sum

(int a)

// return b;

printf

("前n項和為:%d\n"

,b);

}int again_sum

(char *w)

else

}

在這裡是把第二個scanf輸入內容輸入到乙個陣列,在這裡需要注意格式的使用,scanf中不可以用到定址符號,如果是單個輸入,則需要使用取址符號,如下程式:

#include 

int sum

(int a)

;int again_sum

(char w)

;int main()

int sum

(int a)

// return b;

printf

("前n項和為:%d\n"

,b);

}int again_sum

(char w)

else

}

這裡的程式還是好理解的,在編寫程式時候出現了乙個問題,就是在沒有增添 fflush(stdin)語句時候運算結果如下圖

你會發現程式只進行了第一次的scanf輸入,而沒有進行第二次的輸入,我在查閱相關資料後得知,如果在主程式中有兩個scanf函式(這裡可以引申為有多個輸入函式時),在完成第一次的取資料時候,我們計算機只取走了乙個資料,而沒有取走我們輸入的回車符,因此在後面的取值操作時,我們取的是資料緩衝區上次遺留的回車符,因此沒有辦法進行再次輸入操作。因此我們在第一次輸入資料結束後需要清空緩衝區的資料,才能進行新資料的輸入。

fflush(stdin); //清空輸入緩衝區

求前N項和

再做以前的題目,發現解法其實好多種,雖然萬變不離其宗,可是收穫還是好多。時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 張彤彧 浙江大學 本題要求編寫程式,計算序列 2 1 3 2 5 3 8 5 的前n項之和。注意該序列從第2項起,每...

C語言 前 n 項求和

演算法思路 1 前n項求和由於第一項和最後一項都已知適合用for迴圈。2 當n趨於無窮時,調和數列的極限趨於無窮。如下 include intmain printf f d is f n n,sum return0 輸出 50f 50 is 4.479205 process exited after...

C 用遞迴求前n項階乘的和

求前n項階乘的和。includeusing namespace std 求某項階乘的值 5 1 2 3 4 5 int fun int i 求前n項階乘的和 s x f 1 f 2 f x int fun2 int i 求前n項階乘的和 s x f 1 f 2 f x int fun2 int i ...