C語言中,我用這種方法行不行!為什麼得數sum2與sum3都是為零

時間 2022-03-12 19:10:14

1樓:匿名使用者

#include

main()

printf("sum1=%ld\n",sum1);

i=1;s=1; // 重新賦值

while(s<=m)

printf("sum2=%ld\n",sum2);

i=1; d=1.0; // 重新賦值while(i<=t)

printf("sum3=%.2lf\n",sum3); // 保留2位小數}

2樓:

你沒注意到,你這個s的值,在計算完第乙個while迴圈後,它就等於n(你設定的n應該是100)了嗎?

也就是說,你的**中的後面兩個迴圈根本沒執行,因為s== 100, 而m == 50,t== 10,都不滿足執行條件.

知道了吧?

你要在計算完sum1之後,把s重新置為1,同樣,計算完sum2後i也要重新置1

加:我看了你設定的值,n=m=t=10?

所以,你的s在第乙個迴圈結束後,結果是11。

所以,sum2和sum3這兩個計算的迴圈是進不去的,因為不滿足迴圈條件。

我暈,我還沒發現你第三個迴圈的迴圈變數是i, 要不是樓下說,還真沒注意到。

3樓:匿名使用者

樓上說的不錯,迴圈變數沒有初始化,另外你的s是int型別,計算s=1/i,只要i>1,s永遠為0,sum3也是int,壓根就存不了小數

4樓:匿名使用者

你輸入的3個值是這樣格式的嗎

100,50,10

中間是逗號隔開

還有 while(s<=m)這個s值不是1了 你在上個迴圈裡給s賦值了

while(i<=m) i這個值也不是1了不走迴圈

5樓:匿名使用者

第乙個迴圈之後,s、i 的值沒有清零,直接進入第

二、第三個迴圈,導致第

二、第三個迴圈過早結束。。

6樓:匿名使用者

第乙個while迴圈,並不需要s變數的參與,這反而影響了後面的迴圈。要細心哦!

問題就在於你的變數的命名和使用。等著你修改後的**

c語言問題

7樓:匿名使用者

第一題:

void main()

long fun(int n)

return tmp;

}第二題:

void main()

void fun(int n)

if(sum==i)}}

8樓:

long fun1()

return sum

}void fun2()

if(sum==i)}}

9樓:匿名使用者

孩子,作業要自己做!

為什麼這程式無論輸入什麼輸出都全為零?c語言

10樓:

b宣告的是float型,但scanf("%d",&b[i][a]);中用的控制符卻是int型的%d,改成%f試試。

求c語言題目

用c語言編寫乙個整型函式sum,既能求解兩個整數之和,也能求解三個整數之和

11樓:匿名使用者

是要這樣的效果嗎,看程式:

#include

int main( )

12樓:匿名使用者

int sum(int a, int b, int c=0)

c不支援函式過載。c標準規定在相同作用域內不能定義超過乙個同名函式,否則視為識別符號重複定義錯誤。

c++支援函式過載,因此同名函式可能有多個。

c語言中怎麼用,C語言中 怎麼用

按位與 屬於位操作 一般用在取記憶體中特定位的值 如有 11111111 我要取其中從左起第三位的值,就用它按位與 00001000 關於 位操作的技巧還有很多,你可以去自己搜一下還有一個應用就是用於關係運算中,如 有兩小段程式 sample 1 int main cout sample 2 int...

c語言中switch怎麼用,C語言中的SWITCH是什麼意思?

兔丞飛 簡單的說switch語句也是屬於判斷語句,if else語句適合3個以內的判斷,但是多了用if就不太方便了,所以這時3個以上的判斷用switch語句就比較方便了,結構就像樓上的兄弟們那樣寫的,大概怎麼用我舉個例子你就懂了。例 判斷一週的食譜,就是星期幾的食譜是什麼,首先一個星期7天,那麼判斷...

C語言中方法的呼叫問題,C語言中的sprint函式問題

自定義方法如果放在主函式的下面,需要進行函式說明。解決方法 在主函式上面加上void print 或者直接將自定義方法拿到主函式上面去,可以避免錯誤。返回值用return語句返回 要呼叫沒有返回值型別的方法,你可以給他們設定同型別的引數,就可以呼叫了。比如 include void max int ...