1樓:匿名使用者
由於要捨棄小數部分並且double表示的資料比int大得多,編譯器會有這樣的警告,讓你確認不會有溢位問題。
可以考慮不用pow計算整數2的k次方: m=1; for ( i=0;i 2樓:匿名使用者 pow函式返回的是double型別 而你的m是int型 所以提示會有精度損失 有兩個c語言程式設計問題問一下 3樓:史帥鍋 題目翻譯1.編寫一個程式,它使用巢狀迴圈產生以下輸出:&&&&&&&&&& &&&&& &&&&&& # include int main (void) printf(\n); }return 0; }題目翻譯:2.編寫一個程式,提示使用者輸入長度,寬度,和一個矩形框的高度。 有程式計算和顯示框的表面積和體積。繼續提示使用者輸入一組新的長方體尺寸和輸出計算面積和體積,直到輸入零或負值。 # include int main (void) printf("請輸入一個長方體的寬\n"); scanf("%d", &y); if (y <= 0) printf("請輸入一個長方體的高\n"); scanf("%d", &z); if (z <= 0) printf("該長方體的表面積為%d \n", (x*y + x*z + y*z) * 2); printf("該長方體的體積為%d \n", x*y*z); }return 0;} c語言程式設計 這兩個錯誤是咋回事? 4樓:匿名使用者 一個工程裡只能有一個主函式,你在源.cpp裡也寫了主函式吧? 5樓:匿名使用者 感覺還是用vs2008不錯,關聯的msdn也很強大,遇見錯誤時知道怎麼解決的人比較多,vs2010也不錯,寫c語言練習用那個vc綠色版的其實就足夠了 囧-。- 把第一個.cpp檔案刪了應該就行了 6樓:匿名使用者 你的offset多重定義了吧。 麻煩請教各位c語言大大,我是新手,程式設計中遇到一個問題如下
5 7樓:匿名使用者 因為你的while迴圈的條件是“1”,也就是while迴圈會一直迴圈下去,你想要達到你的目的可以把while迴圈改成這樣: while(c!='a') }這樣應該就可以了 8樓: 對問題補充的回答: 這樣的話,因為i不滿足迴圈條件,for迴圈沒有被執行而直接跳過 9樓:匿名使用者 因為你for迴圈就沒停止你輸入的a存的了陣列裡,而不是c中,因此不能停止,要想成立,你必須保正a輸到c裡,而且執行了for語句 10樓:匿名使用者 p=array;是把array的首地址付給p,不能付給p陣列長度。所以for(;;p++)一直迴圈 在c語言程式設計中應該注意哪些問題 11樓:匿名使用者 43.別心急,設計c++的class確實不容易;自己程式中的class和自己的class設計水平是在不斷的程式設計實踐中完善和發展的; 44.決不要因為程式“很小”就不遵循某些你不熟練的規則——好習慣是培養出來的,而不是一次記住的; 45.每學到一個c++難點的時候,嘗試著對別人講解這個知識點並讓他理解——你能講清楚才說明你真的理解了; 46.記錄下在和別人交流時發現的自己忽視或不理解的知識點; 47.請不斷的對自己寫的程式提出更高的要求,哪怕你的程式版本號會變成version 100.xx; 48.儲存好你寫過的所有的程式——那是你最好的積累之一; 49.請不要做浮躁的人; 50.請熱愛c++! 另外,站長團上有產品**,便宜*** 12樓:匿名使用者 只要經常敲**,做題目。如果你還有問題,那你就找我,其實很容易學的,只要你自己用心。同時我要告訴你語言基礎很重要。 13樓: 《高質量程式設計指南——c++/c語言》林銳寫的 推薦你看一遍,對程式設計細節講得很多 14樓:匿名使用者 樓上的也不知道在**複製了這麼多的, 其實也沒有什麼要注意的方面,自己慢慢學,經驗是自己積累出來的, c語言程式設計時,編譯沒有錯誤,但是一點那個感嘆號執行,就有2個錯誤,請問大家這是怎麼回事啊!錯誤如下: 15樓:匿名使用者 void mian() 這裡的mian寫錯了,應該是void main() 16樓:匿名使用者 你確定這是你直接粘下來的源程式嗎? 你的main函式名字寫錯了,看一下樓主,大意了哈···所以沒有連線哦··· c語言程式設計中遇到困難(剛開始學) 17樓:呆子濤 這個程式中你平凡呼叫的輸入函式 scanf 的呼叫格式為: scanf("格式化字串“,地址表); 兩個引數!每個引數的格式都不一樣,第一個是字串,即char* 的資料型別,第二個是一個指標型別的資料,即地址,而c編譯器會把”“之間的東西當做字串,這個等你學到字串資料型別會明白。你所犯的錯誤就是把地址表也放進了”“當中,這樣的後果很明顯,就是函式缺少引數,雖然你的第一個引數型別匹配(是一個字串,顯然沒有”%d,&yw“這種格式的資料,你的意思是”%d“型別的資料),但是卻少第二個引數,所以記憶體必然會報錯,因為編譯器不知道你要把資料存到什麼變數裡面去,在寫程式的時候,應該多站在編譯器的角度想想,這樣你才會瞭解錯誤的根源。 我寫個小例子,讓你更多的瞭解這個scanf 函式引數的本質。 # include int main() 表面上看這段程式中的函式引數是錯誤的,沒有按照書上說的格式來,但是追求其引數本質,編譯器把所有的字串型別當做指標來看,在這裡p是一個字串指標,指向”%d“這個字串,所以作為引數傳進scanf是完全沒問題的。而且對於scanf函式的引數應該是最少兩個,且為偶數, 一個字串指標引數跟一個地址引數相對應,其實就是兩個指標。對於指標目前你不必深究,在系統的學習了前面的基本知識後再去研究記憶體問題。 18樓:匿名使用者 全改為scanf("%d",&sx); 記住,每個輸出的%d,對應後面的一個常量的地址,所以不要把“”裡面放常量地址。 而且下面最好把;放在語句最後,養成一個好習慣: zf=yw+sx+yy+wl+hx+zz*0.8+ls*0.5+0.3*(dl+sw+ty);/*計算總分*/^_^ 19樓:匿名使用者 上面說的對 而且你的zf定義的是int型別 但是你後面複製的是double型別 我不知道你的編譯器 我有的是vs 改為 (int)zf=yw+sx+yy+wl+hx+zz*0.8+ls*0.5+0. 3*(dl+sw+ty)/*計算總分*/; 如果不對你去看看你的強制轉換格式就行 我不知道你的sleep(60000)啥意思 我把這一句給登出了正確**: #include int main() 20樓: #include int main() 幫你改過來了 21樓:匿名使用者 所有的scanf("",)中的引號都用錯地方了! scanf("%d,&yw"); 改成scanf("%d",&yw); 看來你還是個高中生啊,不錯不錯,加油。 這類題一般都可以讓計算機遍歷所有情況,找出符合條件的情況比如第一題 你可以先 把輸入x 計算5x 1 判斷5x 1是否大於500 如果大於500,則輸出結果 如果小於500,則x 5x 1 迴圈到第二步這個功能的 寫出來,把輸出的結果儲存到y下一步就用for迴圈把x從1迴圈到120 因為很明顯x大於... 1 要相信執行結果 巨集是替換 程式是這樣執行的 fb fb k,k 1 k 7 fb k k 1 1 k 7 第一次巨集替換 k k 1 1 k 1 7 第二次巨集替換 3 3 1 1 3 1 7 11 3 1 7 27 注意替換時一定不要忘記 所有巨集替換是在編譯之前的預處理模組完成的 此時還沒... 夏天的小紅花 按照題目的要求,定義四個變數,a,b,c,max。然後按照題目的要求分步實現就可以了 使用條件表示式就比較簡潔 include int main return 0 程式中為了方便多種情況驗證,加入了for迴圈。若不需要時,可以刪除for這一行,以及上下緊接著的一對花括號。 已存在這個名...問關於C語言程式設計的思路,很小的兩個問題
求問c語言兩個題,求教C語言程式設計題兩道。
c語言程式編寫請教一下,謝謝了,C語言程式設計請教 編寫一個程式,