1、只能是在程序里判斷‘-’這個字符。你需要能夠判斷出‘-’是一個減號還是一個負號。比較簡單的方法是,輸入計算式時你規(guī)定好格式,負數(shù)一律用()括起來。這樣比較容易判斷是不是負數(shù)。當然你也可以定義其它的格式。
10年積累的網(wǎng)站設計、成都網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設流程,更有莊浪免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
2、出現(xiàn)負數(shù),是因為奇數(shù)、偶數(shù)的和太大,超過了long(長整型)類型的最大值了。個數(shù)是對的,0-151554545共有151554546個數(shù),其中奇數(shù)偶數(shù)各有75777273個。
3、可能與你scanf函數(shù)中格式控制符中的“.”有關(guān),一般情況下,格式控制符之間最好不要有這種分隔符,如果需要,在輸入數(shù)據(jù)時也必須原樣加上。
4、兩種解決方法,你自己選擇一種:把long x,y;改成int x,y;把所有的%ld改成%d 把函數(shù)定義語句改為long fun(long x)如果有不明白之處,請留言。
5、個數(shù)是對的,0-151554545共有151554546個數(shù),其中奇數(shù)偶數(shù)各有75777273個。
1、你先添加一個正負檢驗函數(shù),就是看字符串第一個是不是“-”號,然后如果是,就相應的執(zhí)行相反的函數(shù)就行,是加法檢測到“-”號直接調(diào)用減法運算,這是一個辦法。
2、其中奇數(shù)偶數(shù)各有75777273個。至于for不動了,是for循環(huán)進入死循環(huán)了,你的編譯器中int是2bytes,最大值為32768,當i加到32769的時候,就越界了,成為負數(shù),所以i永遠不會大于你輸入的151554545這個數(shù)值,所以死循環(huán)。
3、試了一下,b 為0 或 為 負 可以 得結(jié)果,所以就不細查程序了。
4、if(n=0)這里寫錯了 應該是 if(n==0)否則n會被賦值為0,這個判斷永遠無法執(zhí)行,而下面的分支會出現(xiàn)除0錯誤。
5、while(n0)的循環(huán)體里有exit(0);會讓程序退出,在這里效果等同于return 0;所以后面的語句都不會繼續(xù)執(zhí)行。所以這個答案是可行的。不過個人覺得while(n0)改成if(n0)比較好。
1、把long x,y;改成int x,y;把所有的%ld改成%d 把函數(shù)定義語句改為long fun(long x)如果有不明白之處,請留言。
2、可能與你scanf函數(shù)中格式控制符中的“.”有關(guān),一般情況下,格式控制符之間最好不要有這種分隔符,如果需要,在輸入數(shù)據(jù)時也必須原樣加上。
3、求階乘沒必要弄這么復雜,你非要用遞歸算法求階乘也行,問題出在輸入負數(shù)時,要有c語言終止程序的代碼。
新聞名稱:c語言函數(shù)輸入負數(shù) c語言如何輸入負數(shù)
路徑分享:http://chinadenli.net/article36/dehissg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站內(nèi)鏈、面包屑導航、電子商務、服務器托管、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)