⑴ 怎麼用c語言比較3個數字的大小求高手指教
注意書寫格式
語句結束後要有分號
可以採用這種方式,比如判斷三個數a、b、c的大小,可以用逗號表達式搞定max=(max=a>b?a:b)>c?max:c
這種方式比較簡單
且不易出錯。
若有更多問題可在聯系我!
⑵ C語言3個數比較大小!
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 ",max);
}
#include<stdio.h>
//#include<windows.h>
voidmain()
scanf("%d,%d,%d",&a,&b,&c);
result=max3(a,b,c);
printf("Themaxofthreenumberis%d: ",result);
//system("pause");
優先順序
優先順序:C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。 在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。
自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算符是賦值運算符。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
以上內容參考:網路-C語言運算符
⑶ c語言三個數比大小排序用max函數
#include<stdio.h>
intmax(inta,intb)
{
returna>b?a:b;
}
intmain()
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d ",max(max(a,b),c));
return0;
}
⑷ C語言中,怎麼比較三個數的大小
比較方法:
1、比較從第一個數開始,先比較第一個數和第二個數的大小,如果第一個數大於第二個數,則將第一個數和第二個數互換;不大於(即等於或小於)則不作處理。
2、然後,再將第二個數和第三個數比較,同樣,若大於則將它們互換。
以1
2
3為例
先考慮我們所有的可能輸入類型(這里不一一列舉):1
2
3;3
2
1
;2
1
3;1
1
1;1
2
2;1
2
1;整體的思路為輸入三個數後,我們從中取兩個數,在這兩個數中選出最大的後將最大的數與第三個數做差比較這里請參考代碼理解;
代碼:
#include<stdio.h>
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){printf("%d
%d
%d",k,j,a+b-j);return
0;}
//說明K最大按順序輸出就可以了1
2
3;2
2
3
if(j-k>=a+b-j){printf("%d
%d
%d",j,a+b-j,k);return
0;}//3
2
1
if(j-k<a+b-j){printf("%d
%d
%d",j,k,a+b-j);return
0;}//
3
2
3
}
總結:
其實這個代碼本質也和用if語句比較大小排序差不多,只不過這里不需要每次都調用三個if語句,直接一條if語句便可輸出答案效率更高一點。