功能:計算機對輸入的乙個資料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 ...