請問C程式,三個數中選最大,為什麼會出現實參太少的問題(初學)

2025-03-18 15:10:07 字數 3796 閱讀 2924

1樓:happy活著就好

你實際呼叫的max(a,b,c)那執行到函式里面的時候temp**去了?編譯器認為你的函式呼叫時沒有傳入temp變數。

其納物缺實你可以把temp放在max函式里 即可。

就是把所有的int max(int x,int y,int z,int temp)都替換為int max(int x,int y,int z)

然後再max函式定義部分首行加入一句int temp搞定。

如下。#include

int main()

int max(int x,int y,int z);

int a,b,c,m;

printf("please enter 3 integer 洞辯numbers:");

scanf("%d,%d,%d",&a,&b,&c);

螞轎m=max(a,b,c);

printf("the max number is %d",m);

return 0;

int max(int x,int y,int z)int temp=x;

if(temp

2樓:網友

你定義max有四個侍鍵卜參老穗數。

而引用時是max(a,b,c)三個引數。

把後面的。int max(int x,int y,int z,int temp)

改為。int max(int x,int y,int z)int temp;

前面的宣告也改亮弊。

3樓:

你定義的時候腔耐有4個引數(int x,int y,int z,int temp),但是呼叫的時桐渣候卻只有三個引數(m=max(a,b,c))

也就是說 定義和呼叫不統局圓悄一。謝謝。

4樓:匿名使用者

你的max函式參運梁數是4個 ,而你傳遞的是三個所以它就提示你少個引數,你只要把第四個引數。

int temp放在函式內旁碧運部就行慧高了。

int max(int x,int y,int z)

linux程式設計下提示「{提供給函式的實參太少」是什麼意思?

5樓:匿名使用者

舉個例子。

乙個函式void test(int a,int b,int c)括號裡的3個型別是形參。

用的時候要給函式傳入實參,就是實際的數字,如果沒有傳入全,就會出現問題。

怎樣用c語言編乙個程式從a,b,c三個數中選出最大的

6樓:育知同創教育

#include

int main()

兩兩比較,然後輸出最大的數就可以了。

7樓:網友

max(a,max(b,c))

俺好久不寫**了,忘了c語言中有沒有max函式啦。

c語言:程式設計求三個數中最大值。 為什麼程式輸出的總是第乙個數? t_t好奇怪,初學c語言求幫助~

8樓:蘆苒兒

我也是跟你一樣的問題,但是我發現你在執行後輸入三個具體的數時,要開啟大寫鍵盤輸入數字,不然就是第乙個數,雖然我不知道為什麼,但是大寫時就可以。

9樓:鐵打的泥人

應該是你輸入的分隔符錯了,scanf中寫的什麼格式,輸入時就要什麼格式。

10樓:銀河穿越

看一下你輸入的時候 分隔符可用對了。

11樓:指尖丶碎流年

不要用float,用int,用float賦值要加小數點的。

怎麼用c語言編寫乙個程式,輸入三個數值,然後輸出其中最大者。

12樓:鬱草小沙彌

有很多方法,初學的話不必用陣列,用三個變數比較清晰:

#include

int main()

這種方法可以完成題目要求,但是無法實現排序,因為第乙個數丟了,只要不丟數,多用幾次if就可以再實現排序。當然,只看本題的話以上**是比較簡潔的。

13樓:網友

#include

int main()

elseelse

elseprintf("這三個數的最大數為: %d",max);

return 0;}

14樓:網友

#include

int main()

max = num[0] >num[1] ?num[0]: num[1];

max = max > num[2] ?max: num[2];//問號表示式,大值賦給max

printf("%d",max);

return 0;}

15樓:匿名使用者

同意一樓答案,對於3個數比較大小,用1樓的很快就可以了,你只要修改引數型別就可以滿足所有的資料型別了。

2樓的三個if相對的麻煩了一點。

16樓:匿名使用者

樓主想要比較的是小數?整數?還是隨意?思想方法就是進行3次比較就可以了,用3個if巢狀語句:

編寫乙個c程式,輸入abc三個數,怎樣輸出最大?

17樓:教育閒話

最簡單的教課書的編寫方法:

#include

int main()

#include

void main()

18樓:匿名使用者

// : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

#include //主函式。

int main()//定義主行數。

主函式體結束。

求三個函式較大者為max函式。

int max(int x, int y, int z)//定義max函式,函式值為整型,型式引數xyz為整型。

c語言程式設計求三個數的最大值

19樓:諸葛墨槿

逗號不能表示邏輯「與」關係,把逗號換成&&就可以了。

20樓:網友

你輸入的格式不對,你的scanf("%d,%d,%d"中間是以逗號格開的,所以你在輸入值的時候也要逗號格式,即在程式執行後輸入比如。

你的程式中把兩處if(x>y,x>z)中的逗號,改成&&,即if(x>y &&x>z)

if(y>x &&y>z)

21樓:網友

書上的例題用問題吧,能輸出來?難以置信,d=max(a,b);

printf("max=%d",c);

這裡的c根本沒賦值,打出來應該為空,要把c改成d才對,你自己寫的要把,改成&&,遵循c語言指標的精華,應該把int max(int x,int y)寫成指標函式比較高效。

int *max(int *x,int *y)

22樓:拍拍餘小魚

if(x>y,x>z)這裡不要用逗號改成if(x>y&&x>z),下面的也是如此。

隨機輸入3個數,要求輸出其中第二大的數,剛學c語言,請問怎麼編寫

23樓:網友

#include

void main()

以下用比較交換的方法將3個數從小到大整理到a,b,c變數中if ( a>c ) //a存放三個數中最小的if ( b>c ) //b存放b、c中最小的printf("%d",b);}

三個連續自然數的積是210,這三個數是多少

三個連續自然數的積是210,這三個數是。因為210 2 3 5 7 5 6 7 所以這三個自然數分別是 根據三個連續的自然數的特徵,先把210分解質因數,然後根據質因數的情況確定出這三個連續自然數的數值即可。任何一個合數都可以寫成幾個質數相乘的形式 其中每個質數都是這個合數的因數,叫做這個合數的分解...

各走各路猜數,各走各路猜三個數

各走各路猜三個數是296。各走各路是兩個各字所以是2,走諧音是9,路和六同聲母所以是6。所以猜三個數是296。各走各路,就是井水不犯河水,互不干涉,各自單幹.也經常用在朋友或合作伙伴,表示分道揚鑣的意思.這個字是說各走各的路,誰給誰都不相干,互不干涉,在給朋友和同事之間的時候有什麼吳會的事情,和或和...

C語言求平均值,用C語言求三個數的平均值

include void main 給你提供一個可以求平均分的 include int main printf 平均分是 g n sum 1.0 n return 0 include void fun printf f n acc max min 8 include int main include...