C語言演算法的問題

時間 2021-09-10 15:05:35

1樓:匿名使用者

演算法一:

用的是等差數列的求和公式,現在簡單推導一下:

s = 1 + 2 + 3 + …… + ns = n +(n-1)+ (n-2)+ …… + 1相加得:

2*s = (n+1)+(n+1)+(n+1)+…… +(n+1)得 s = (n+1)* n/ 2

演算法二和演算法三 都差不多,c語言實現如下

void sum(int n)

2樓:匿名使用者

2和3不是一樣的麼。。。感覺是在忽悠。

演算法三:第1步:將0放在s中; 《--------s用來存放結果

第2步:將1放在n中; 《--------n裡面依次會放入1,2,3,4,5。。(剛開始是1)

第3步:將n加到s中; 《--------s = s+n

第4步:將1加到n中; 《--------n 現在自加了,每次加1

第5步:判斷。若n<100,轉第3步;《----加到99就退出迴圈。輸出s

否則,轉第6步;

第6步:輸出s中的結果,結束。

3樓:爬爬死爬

演算法1第三步:第二步是計算s,第三步是將s輸出到電腦螢幕

演算法2第三步:就是s=s+3具體就是將s自加3再存到s中

演算法3的思想是建立兩個變數n,s,n初始化為1,s初始化為0,s的作用是計算結果,n的作用是從1遍歷到99.第二步是將n加1,就是將n從1取道99,第三步將n加給s,就是計算1-99的和。

4樓:匿名使用者

當n=1時s=s+n=0+1

1加n,n=1+1=2當n=2時 因為n<100所以轉第3步s=s+n=0+1+2

1加n,n=2+1=3當n=3時 因為n<100所以轉第3步s=s+n=0+1+2+3

.......................................

1加n,n=98+1=99當n=99時 因為n<100所以轉第3步s=0+1+2+.........+99

1加n,n=99+1=100當n=100時 因為n不小於100所以轉第6步

輸出s=0+1+2+.........+99中的結果

5樓:道生天地

n每次加1從1加到99,s每次加n,共加99次,不就是1+2+3+4+```+99嗎?

6樓:匿名使用者

天啊.........i am dead....

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

c語言演算法帝快來圍觀

int i 123 char buff 4 sprintf buff,d i printf 百位 c 十位 c 個位 c buff 0 buff 1 buff 2 試試吧 挺不好玩的.include include using namespace std int main return 0 c語言,...

c語言的問題,C語言問題?

魘傳說 這個 的作用就是利用do while將陣列算出來,然後利用for迴圈遍歷,倒序輸出陣列。我感覺很奇怪,devc 出來的結果是10010。我算出來的結果應該是00010,因為強轉int型別應該是取0的,而不是取1.然後我用c 試了多個數字,發現所有的結果都是以1開頭,至於為什麼我也不知道,希望...