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 ...