有個C 問題 請高手寫詳細一點 謝謝了 要完整的乙個程式 線上等 50

2025-03-24 00:45:18 字數 3530 閱讀 5113

有個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,後面就不會再執行。

C 的一點問題,關於2個c 的問題!

string sql insert into users usersid,userspwd,question,answer,email values usersid,userspwd,question,answer,email sqlcommand cmd new sqlcommand sql,co...

請哪位老師給我看看手相謝謝啦請說詳細一點

你血壓有點高,感情比較穩定,沒什麼大病,事業以後也會小有成就,還可以 看這手相,命是不錯,但機會沒捉好,晚上不好睡,早孰感情不定性,花錢大方,存糧不多 為人內向,不喜歡熱鬧,事業一波三折,唯獨家庭和睦,堅守愛情,沒有大手大腳的毛病,經常來點小錢 每條紋路都很清晰,但是男左女右,你伸錯手了。感情線比較...

C語言問題,求高手解答,謝謝,一個很簡單的C語言問題,求高手解答,謝謝!

這是基本遞迴方法。你做這題可以用排除法吧 a 這個printf每次會輸出一串,肯定不行了b fun函式傳入引數其實是字串指標,fun s 1 傳入的是char型別,好歹也得char 的指標型別啊 c 和a一樣 每次必定輸出一個字串。我們應該每次輸出一個字元。那就d吧 關於d,fun s 1 肯定傳入...