c語言輸入數字比大小,C語言輸入三個數字比大小

2022-02-16 05:28:29 字數 6756 閱讀 6493

1樓:星月小木木

#include

void swep(int *a,int *b,int *c)int tmp;

if(*a>*b)

tmp=*a;

*a=*b;

*b=tmp;

if(*a>*c)

tmp=*a;

*a=*c;

*c=tmp;

if(*b>*c)

tmp=*b;

*b=*c;

*c=tmp;

void main()

int a,b,c;

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

swep(&a,&b,&c);

printf("%4d%4d%4d",a,b,c);

2樓:

min=aa && ba&&ba && b>c正確格式應該是:

if(b>a && b>c)

max=b;

注意其他的判斷語句後面的";"也都要去除

ps:qxf19871029的回答舉例中有個錯誤:

if(maxc) min=c,mid=min;

//同上

應該改為:

if(maxc) mid=min,min=c;

3樓:匿名使用者

自己寫的**,然後說看不懂....

min=ab&&a>c?a:(b>c?b:c);

//理解同上!!返回的是最大值

mid=a+b+c-min-max;

//三值的和減去最大最小值,剩下的就是居中的值,所以....

4樓:匿名使用者

#include

int main()

5樓:金貞怡嵇奕

請看錯誤旁邊註釋:

#include

intmain()

else

}elseelse

}printf("the

maxis

%d",max);}

6樓:焉豆乘育

好久都沒碰過c語言了。。。除非你輸入的最後一個數是最小的,否則一直你的max會一直都輸出的是最後一個數字

if(z>x,z>y)只要滿足一個條件,就會執行a=z你是要同時滿足兩個條件,所以必須要加上and也就是要寫成if(z>x&&z>y)

上面的也要這麼改

用c語言比較輸入的三個數的大小

7樓:水宮御子

這裡介紹2種方法,如下:

#include

void change1(int a,int b,int c){ int t;

if(a

8樓:

int a,b,c,d=0;

printf("請輸入三個數\n");

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

if(a>b)

if(b>c)

if(a>b)

printf("%d < %d < %d",a,b,c);

//樓主注意輸入字元的時候,不要在前面加「 ,」這回導致輸入的時候產生錯誤了,這是最主要的錯誤,其他的我都已改正,仔細看一下你應該就會發現,細心些,注意結構和邏輯判斷

9樓:匿名使用者

if(a>c)

這裡面最後一個應該是 c=d

10樓:倒黴熊

程式錯誤的地方很多啊,c語言的語句都是以分號結束的,不是逗號,那是逗號表示式。

d=b,b=c,c=d; 這樣的不對啊。

還有你的if和else 是怎麼一回事??有專門的邏輯嗎??怎麼檢視是否符合邏輯。

3個數大小排序沒有那麼複雜

排序的地方可以這樣啊

if(a>b)

//這樣以後 a<=b了

if(b>c)

//這樣以後 b<=c了。並且a<=c 因為前面 b儲存的是ab中的最大值。

if(a>b)

//這樣以後 a b c就排好序了。

注意:輸入的時候要這樣輸入 1,2,3 中間用逗號隔開,因為你的scanf裡面的%d之間有逗號。

c語言三個數字比大小

11樓:風若遠去何人留

#include

int main()

else

return 0;

}這樣就可以了。

12樓:匿名使用者

#include

int main()

c語言 比較三個數大小

13樓:水不流則腐

比較方法:

1、比較從第一個數開始,先比較第一個數和第二個數的大小,如果第一個數大於第二個數,則將第一個數和第二個數互換;不大於(即等於或小於)則不作處理。

2、然後,再將第二個數和第三個數比較,同樣,若大於則將它們互換。

以1 2 3為例 先考慮我們所有的可能輸入型別(這裡不一一列舉):1 2 3;3 2 1 ;2 1 3;1 1 1;1 2 2;1 2 1;整體的思路為輸入三個數後,我們從中取兩個數,在這兩個數中選出最大的後將最大的數與第三個數做差比較這裡請參考**理解;

**:#include

int comp(int x,int y)

return x>y?x:y;

int main()

int i,j,k;

int a,b,c;

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

j=comp(a,b);//j為兩個數裡最大的值

k=c;//a+b-j求的是a,b裡比較小的那個數;

if(j-k<0) //說明k最大按順序輸出就可以了1 2 3;2 2 3

if(j-k>=a+b-j)//3 2 1

if(j-k總結:

其實這個**本質也和用if語句比較大小排序差不多,只不過這裡不需要每次都呼叫三個if語句,直接一條if語句便可輸出答案效率更高一點。

14樓:蘇寄蕾桓舒

程式沒什麼問題,是不是你不知道怎麼輸入。

你規定的輸入格式是三個數之間用逗號分隔。如果你輸入時用空格分隔,就會出現你所說的情況。

應該是你根本就不知道你寫的程式語句具體是什麼意思。

另外,程式太複雜了,一條語句可以解決問題的事情,搞得這麼複雜。

15樓:小笑聊情感

在max函式裡,else後面應該寫m = y;而不是m = z;另外max宣告可以放在main()裡面;如下: # include int main (){ int max

16樓:赫連騫澤塗布

a=2/25

b=1/6=4=24

c=1/5=5/25

首先可以看出c大於a.

24*25=600

b=100/600....c=120/600...所以b小於c。

所以三個數的大小是。c最大。b第二大。。a最小。

17樓:卿倚墨安福

出錯的原因是,函式裡不可以巢狀函式。

你在main裡巢狀定義了max函式,這是不允許的。

解決方法:

(1)main後面的2個大括號去掉1個

(2)int

max函式體放到最後,int

max函式那行末尾的分號去掉

(3)return

0;移到

if(c>d)

printf("%d\n",c);

else

printf("%d\n,d");

的後面,}的前面

18樓:波暢鄲嫚

輸入的3個數之間用西文半形逗號分隔

19樓:匿名使用者

#includeint main()

20樓:

# include

void main()

int max(int x,int y,int z)你是不是輸入格式有誤啊?

21樓:匿名使用者

#include

/* 這才是三個數的比較*/

int main()

22樓:匿名使用者

我看了一下底下的答案,幾乎都是錯的,只要用10 21 9測試,把資料從小到大輸出就會發現結果不對了。這是我的演算法,你可以參考一下。

23樓:匿名使用者

# include

int main()

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

24樓:匿名使用者

你這由於只有三個數字,所以還是很簡單的,完全可以用傻瓜的方法if(a>=b&&a>=c)

printf("%d",a);

if(b>=a&&b>=c)

printf("%d",b);

if(c>=a&&c>=b)

printf("%d",c);

反而比排序演算法執行效率高

25樓:匿名使用者

/* //三個數比較大小

int x,y,z,q,w;

printf("請輸入三個要比較的整數:");

scanf("%d %d %d",&x,&y,&z);

if (x>y)

else

if (q>z)

else

printf("三數中最大的為:%d",w);*/

26樓:藍兔小童鞋

#include

int main()

if(a

if(b

printf("%d %d %d\n",c,b,a);

return 0;

}原理就是運用冒泡演算法,把最大的數浮在最上面,而小的數就下沉,最後就輸出。

27樓:千鍾家的縫合怪

把輸入法改一下你的逗號可能不對 ,和,不一樣

28樓:

int m,int n;

這行直接用int m,n;表示就行了

scanf("%d,%d,%d",&a,&b,&c);把"%d,%d,%d"之間的逗號去除.

29樓:匿名使用者

#include

int main()

30樓:放飛自我的鐘老師

不要max也可以解,max反而容易混淆。

個人喜歡錶達式?:邏輯簡單,步驟少:先比較出最大值,其餘兩個值再排二三名。

# include

main()

31樓:匿名使用者

這個問題沒能幫助上你表示抱歉,希望你不要生氣,好不好

c語言3個數比較大小!

32樓:諾諾百科

int max;要放到 int a,b,c;的後面。正確如下:

main()

int a,b,c;

int max;

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

max=a;

if(b>max);

max=b;

if(c>max);

max=c;

printf("max=%d\n",max);

#include

//#include

voidmain()

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

result=max3(a,b,c);

printf("themaxofthreenumberis%d:\n",result);

//system("pause");

優先順序優先順序:c語言中,運算子的運算優先順序共分為15 級。1 級最高,15 級最低。

在表示式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算子 優先順序相同時,則按運算子的結合性所規定的結合方向處理。

自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算子是賦值運算子。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。

c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。

33樓:電子情感解答達人

回答親^3^您好!請您稍等三分鐘左右我在竭盡全力為您尋找答案請您稍等您好!

第一種方法:

使用if分支語句

#include

int main()

第二種方法:

使用函式

#include

int max(int x,int y)

int main()

提問那請問一下 整數如何輸出它的符號嗎

回答您好!您的意思是輸出ascll嗎?[嘻嘻]您稍等一下哦我看看

提問好的,麻煩您了

回答稍等哦!我為您書寫一下哈

提問[吃鯨]好的呢

麻煩您可以再幫我一下嘛

回答您好!稍等哦剛剛看到

第二份哈[比心]

更多54條

34樓:匿名使用者

#include

void main()

/*注意輸入時如是:123,則要這樣輸入:1,2,3*/

c語言如何輸入中文,C語言如何輸入中文

輸入以下 就可以輸入中文了 如果是用tc進行程式設計,那麼只能顯示英文,如果用vc進行程式設計就可以顯示中文了。兩者只是編譯工具不一樣,程式語言的使用是一樣的。include include int main char name 6 20 char temp 20 printf 請輸入6個人的名字 ...

C程序設計,,數字比大小緊急問題

不用想得太複雜 math.max math.max 1,2 math.max 3,4 最大值 math.min math.min 1,2 math.min 3,4 最小值 請自行把1234分別改為引數即可 資料結構,只用條件語句可以兩兩比較 int max 0 初始化最大值,預設為0int min ...

如何在c語言中輸入特殊符號,C語言中輸入一些特殊的符號 ,應該怎麼 弄?

方法老簡單了,就擔心你們不會輸入特殊符號 1 單個任意ascii字元輸入 使用ascii輸入。例如 char c 164 符號 2 字串中輸入任意ascii字元 使用轉義字元 ascii碼。例如 char str abc xa4 abc 轉義字元 xhh hh代表字元的十六進位制ascii碼。但是你...