有個c++問題 請高手寫詳細一點 謝謝了 要完整的乙個程式 **等
1樓:
其它的沒什麼特別的,要做複製的時候要注意越界訪問的問題就可以啦!
求高手幫忙解決下面這個c++中的乙個題目。看俺的****有錯,謝謝了
2樓:網友
你有幾個地方有錯誤:
1.求個位數,直接用n%10就可以了,你那樣子是求的最高位的值2.既然你已經定了個位為7,直接給m賦7就可以了吧。
3.你上面那樣子算的時候,最後退出第乙個while迴圈的時候,n是為0的,下面不能用這個n計算,你若是不斷的用n/=10,開始應該用個變數儲存這個n的值。
4.還有在main中,不能單單不斷b/a==t ,因為整數出的時候,若是不能整除,是會四捨五入的。
5.這個題目其實最好的辦法是你用數學推導的辦法來計算,你自己可以推推,不用窮舉的。
#include
using namespace std;
int change(int n)
將個位數移到最高位。
int q = m + p; //得出最後得到的數return q;
int main()
if (!find)
cout <<"no" 3樓:辰星落羽 #include using namespace std; int change(int n) //將個位數移到最高位int q=m+p; //得出最後得到的數cout<>t) if(!find)cout<<"no"<}return 0;} 4樓:網友 你在迴圈裡將n的值改變了。試一下這個: int change(int n) //將個位數移到最高位int q=m+p; //得出最後得到的數return q;} c語言的乙個小問題,請高手幫忙看一下。 5樓:千島j玉葉 a是乙個小數,也就是浮點數。 b是乙個負整數,也就是整型資料。 c在c語言中是不合法的,不能以分號分隔資料,d是乙個不合法的八進位數,因為八進位每位數只能是0~7的,這個八進位有個8,所以不合法。 答案是:b 6樓:網友 0開頭為8進位。 12.表示 是double 1,000是編譯不過去的…… 只有b是對的。 乙個c語言問小題 幫忙看看 麻煩詳細解釋一下 7樓:xz巨集定義 根據c90和c99的標準規定。 編譯器的判定為:表示式中如果存在邏輯運算子,將會是以下的執行過程(以你問題中的表示式為例): 1,&&的情況下,判定&&左邊的值是否為真(1),若為真,則繼續判定;若為假則直接返回「假」這個結果; 2,||的情況下,需要對錶達進行完全解釋判定才能得到具體結果。 3,前++和後++。對於前++,在表示式的等號運算子之前就完成了運算結果;而對於後++,則本次運算會持續到等號運算子之後完成,也就是說從下一跳有效語句開始才會完成計算。比如: a=1;b=2; a&&b--;//此時,a的值已經為0,而b的值還是2綜上,你的**得到了上述的結果。 輸出:a=0 b=1 c=0 8樓:左左強強峰峰 --a為0,所以--a&&b-- 為0 b--不執行, -c執行 為0,所以--a&&b--|c為0 所以d為0所以 a=0, b=1, c=0, d=0 9樓:傳說中的土鱉 a=0;//--a後a的值改變為0 b=0;b經過b--運算後的值為0 (b--)=(1--)c=0;//--c後c的值改變為0 d=1;//因為a=0,b=0所以a&&b得值為真返回1故d=1--運算子在變數名前則先進行減法運算 ,在變數名後面則在本段語句結束後進行減法運算。 10樓:網友 a=0;b=1;c=0;d=0; 這裡耍了個小技巧,--a就是0,再&&(與)就不執行b--了,必然是0,成了0||-c,然後--c為0,d為0;b還是1. c語言的問題 請教高手 11樓:網友 簡單地說吧,像char、int、float等都是型別,而char *是指乙個變數指標,指向的是char型別的變數。同時char *也是乙個型別,char **是指乙個變數指標,指向的是char *型別的變數。同時char **也是乙個型別,char **是指乙個變數指標,指向的是char **型別的變數…… 指標真正難以理解的地方在於和陣列的共同點和不同點。 12樓:網友 char* :char的指標。 char**:char的指標的指標。 char***char的指標的指標的指標。 乙個c語言小小的問題,求解答 13樓:360度視角 dowhile(++j<2); 首先,你要明白。 j和j++的區別。 j<2;這個表示式將j+1與2比較; j++<2;這個表示式將j與2比較。 但兩個表示式計算完畢後,j的值都會在原基礎上加1。 所以如果當j的初值為小於2的數,則執行到j=2結束(不包含j=2)例如:設j初值為1(0也可以) 當j=1的那一刻開始,do迴圈還是執行的,但是執行到while(++j<2); 由於++j<2是將j+1與2比較,即1+1<2顯然不成立,退出迴圈! 其次,你要明白。 do...while語句是無論while裡面的條件怎麼樣都先執行一次do後面的語句。 如果j的初始值小於2 假設從j=0開始(1也可以),則這行到j=2(不包含j=2)結束如果j的初始值大於或者等於2,則執行一次do後面的語句,直到while(++j<2);判斷;由於執行條件不成立,所以退出迴圈,所以如果j的初值大於等於2(假設為2),語句執行且僅執行一次(j=2的那次) 要知道,是執行且僅執行一次。 解釋了這麼多,不知到你明白了沒? 我的用詞很準確很嚴謹的,你慢慢斟酌,會明白的! 你參考一下人家的這個,細細分析一下,我覺得說得很明白的! 14樓:御含靈 這個while的語句 前面的先執行 執行完了再判斷while那句話 再決定要不要執行第二輪。 要達到你的效果。 你可以把while放在迴圈體的前面,去掉do 15樓:網友 首先, do while 迴圈是先執行,後判斷,即使迴圈條件不成立,最少也會執行一次。 另外,具體迴圈執行多少次,與j的初值有關,要根據上下文來判斷。 16樓:網友 do裡面**的先執行一次,然後j變成3,後面就不會再執行。 string sql insert into users usersid,userspwd,question,answer,email values usersid,userspwd,question,answer,email sqlcommand cmd new sqlcommand sql,co... 你血壓有點高,感情比較穩定,沒什麼大病,事業以後也會小有成就,還可以 看這手相,命是不錯,但機會沒捉好,晚上不好睡,早孰感情不定性,花錢大方,存糧不多 為人內向,不喜歡熱鬧,事業一波三折,唯獨家庭和睦,堅守愛情,沒有大手大腳的毛病,經常來點小錢 每條紋路都很清晰,但是男左女右,你伸錯手了。感情線比較... 這是基本遞迴方法。你做這題可以用排除法吧 a 這個printf每次會輸出一串,肯定不行了b fun函式傳入引數其實是字串指標,fun s 1 傳入的是char型別,好歹也得char 的指標型別啊 c 和a一樣 每次必定輸出一個字串。我們應該每次輸出一個字元。那就d吧 關於d,fun s 1 肯定傳入...C 的一點問題,關於2個c 的問題!
請哪位老師給我看看手相謝謝啦請說詳細一點
C語言問題,求高手解答,謝謝,一個很簡單的C語言問題,求高手解答,謝謝!