C語言問題

2023-05-12 10:40:14 字數 4330 閱讀 1778

1樓:匿名使用者

翻譯過來是。

在函式'vikingnumber'內的分配讓一個指標轉換成了整形。output可能用了未初始化的在這個函式中。

你看你函式體內定義output是int,但是用了字串指標常量給他,又沒宣告強制轉換,就錯了。

補充,如果輸入不為0則輸出!naught#include

#include

using namespace std;

char* vikingnumber (int number)return "!naught";

main()

2樓:匿名使用者

naught是字串,你怎麼把它賦值給一個int型別的變數output呢?

把int output改為char output還有如果number不等於0,那你還return output,就會出錯的,所以你那程式應該改為:

int vikingnumber (int number)

3樓:匿名使用者

沒有初始化的值會導致不可預知的錯誤。

既然是返回值,你隨便定義一個數,然後再呼叫它的那個函式里判斷一下,輸出個字串不就好了。

4樓:

摘要。您好,c語言之問題集。

c語言 %-6d:6表示輸出列寬是6個字元,如果實際輸出的字元不足6個,則用空格補充其餘的位置,如果實際輸出大於6個字元,則按實際寬度輸出,前面的負號表示在右邊補空格。

如果沒有負號則表示在左面補空格。

數字是幾就表是幾個空格。

即:printf("%6d",123);

輸出的結果是(一個小數點表示一個空格)

c語言問題。

您好,c語言之問題集c語言 %-6d:6表示輸出列寬是6個字元,如果實際輸出的字元不足6個,則用空格補充其餘的位置,如果實際輸出大於6個字元,則按實際寬度輸出,前面的負號表示在右邊補空格如果沒有負號則表示在左面補空格。數字是幾就表是幾個空格。

即:printf("%6d",123);輸出的結果是(一個小數點表示一個空格)

具體的源**怎麼打。

問一問自定義訊息】

5樓:

摘要。親,您好,c語言問題:1、語法錯誤概念:

是指程式中含有不符合語法規定的語句2、邏輯錯誤概念:是指程式中沒有語法錯誤,可以通過編譯、連線生成可執行程式, 但程式執行的結果與預期不相符的錯誤。3、系統錯誤概念:

是指程式沒有語法錯誤和邏輯錯誤,但程式的正常執行依賴於某 些外部條件的存在,如果這些外部條件缺失,則程式將不能執行。

c語言問題。

親,您好,c語言問題:1、語法錯誤概念:是指程式中含有不符合語法規定的語句2、邏輯錯誤概念:

是指程式中沒有語法錯誤,可以通過編譯、連線生成可執行程式, 但程式執行的結果與預期不相符的錯誤。3、系統錯誤概念:是指程式沒有語法錯誤和邏輯錯誤,但程式的正常執行依賴於某 些外部條件的存在,如果這些外部條件缺失,則程式將不能執行。

親,**太模糊了,看不清楚。

6樓:渠彩榮熊釵

#include

floatn;int

main()

integer

表示整數。real表示實數。

如果這個數取整之後還等於原數,則說明這個數是整數。、

7樓:巢文賦愛蕊

deque::push_back

原型void

push_back(const

t&x);typedef

dequeintdeque;

intdeque

dequetest;

就是在當前的佇列尾部插入一個數value

例如:;依次插入了1,2,3

與pop_back不同,pop_back是刪當前的隊尾值。

push_back

類似堆疊操作push,pop_back

類似堆疊操作。

pop.這裡的"back"

容易把人搞糊塗。

自己看吧。

c語言問題

8樓:匿名使用者

五. 判斷一個正數是否為對稱數,如果是返回0,不是返回1,(不允許呼叫c庫字串轉換相關函式),如11,121,1221就是對稱的。

首先把正數(沒有考慮浮點數)存放到字元陣列中a,len記錄正數長度。

while(num>=10)

然後比較判斷就可以了。}

9樓:我不喜歡故事

第一題的資料儲存形式看不懂到底是啥意思。求解……

10樓:海海胡

選擇題:

1、c2、d

3、b4、c

5、a6、a

7、c8、d

9、b10、d

判斷題:1、錯2、對。

3、對4、錯5、對。

c語言問題

11樓:雲淡風輕

!(a+b)+y-1&&x+b/2

這就是邏輯運算子和算數運算子的優先順序運算問題;

是邏輯非運算子,意思是(a+b)如果不等於0,則!(a+b)的值是0,如果等於0,則!(a+b)的值是1;

知道了!(a+b)的值以後,!(a+b)+y-1的值也就知道了。

然後求x+b/2,先求b/2,也就是b除以2,用得到的商加上x,就得出了x+b/2的值;

然後如果!(a+b)+y-1的值不等於0,同時x+b/2的值也不等於0,那麼這個式子的結果就是1;

如果&&兩邊的式子都等於0,或者有一邊等於0,那麼這個式子的結果就是0;

12樓:匿名使用者

第一層1個。

第二層2個。

第三層4個。

第四層8個。

第五層16個。

第n層 有2倍(n-1)層的個數。

但是不知道這棵樹是不是滿二叉樹,所以要計算第幾層,有個公式(看圖)將700帶入,得到n層,然後計算n-1層有多少個節點,700減去得到的節點數,就是葉子節點了。。。

13樓:匿名使用者

算算最下層應該有多少個結點?

14樓:匿名使用者

餓,解釋下吧這樣的。

首先完全2叉樹是h層的節點總數為2的h次方-1;

因此700個是 在。

2的9次方和2的10次方之間。

所以在前9層是滿的;

設第9層的非雙親節點為x;

那麼可以知道。

第9層的雙親節點為256-x;

因此第十層的為2(256-x)或者為2(256-x)-1;

全部加起來。

511+2(256-x)-1=700//前9層和第10層之和得到是x=161;

總的葉子節點為 161+2(256-161)-1=350;//第9層和第十層的的和。

15樓:

完全二叉樹的節點和他的深度h有關,深度為h的完全二叉樹有2的h次方減一個節點,最後一行的節點數應該是2的h-1次方個,(700+1)/2在取整就是350了。

16樓:匿名使用者

通用演算法:

設n為總節點數,n0是度為0的結點總數,n1是度為1的結點總數,n2是度為2的結點總數,二叉樹中只有這三種度的節點。所以n=n0+n1+n2。

又由二叉樹的性質可知:n0=n2+1,即:n2=n0-1,帶入上式有:n=2*n0+n1-1

而根據完全二叉樹的定義,可以知道n1只可能是0或1;當總節點數為偶數時,n1=1,當總結點數為奇數時,n1=0。

因為總結點數為700為偶數,所以n1=1。帶入到n=2*n0+n1-1有n0=n/2=350。

度為0的節點即葉子節點,所以葉子節點數為350。

17樓:匿名使用者

(exp)?b++:b--判斷(exp)這個表示式是否為真,如果是真就執行b++,如果非真,就執行b--

我不能很好的表達,給你解題思路:

a.如果(exp)是假的,那麼(exp==0)就是真的,所以這句和(exp)不等。

b.如果(exp)是假的,那麼(exp!=0)就是假的,所以這句和(exp)完全相等。

c.如果(exp)是真的,那麼(exp==1)不一定為真,比如exp是b=2,那麼(exp==1)就為假,和(exp)不等。

d.如果(exp)是真的,那麼(exp!=1)就是假的,所以這句和(exp)不等。

所以答案是b

18樓:匿名使用者

(exp)這句是什麼意思啊就是條件 判斷真還是假如果exp是真 取b++;

假取b--;

就像是判斷bool型別。

應該選b

c語言問題,C語言問題?

include include int main max min i 0 sum i 0 i 1 i 2 i 3 i 4 i 5 i 6 for j 0 j 6 j printf 去掉一個最高分 0.6lf max printf 去掉一個最低分 0.6lf n min printf 該選手最後的得分...

c語言問題,C語言問題?

char的範圍是 128 127的 你362就溢位了嘛 是這樣的 0362 0是表示8進位制 於是362在10進位制下是242 242溢位了 128 127 於是結果變成242 128 128 14 要明白這個,首先要明白記憶體中 c 變數是什麼樣子的。整數在記憶體中是以補碼的形式存取的。c 036...

C語言問題C語言問題,C語言小問題段錯誤是什麼

str2num char p num num k return num c語言問題c語言問題 include int main int h,m scanf d d h,m printf s num h if m 0 else printf o clock printf n return 0 c語言小...