#include stdio.h
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)長(zhǎng)沙免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
void max(int a,int b,int c);
int main(void)
{
int i,j,k;
printf("? 請(qǐng)輸入3個(gè)整數(shù)(數(shù)與數(shù)之間用空格隔開(kāi)):");
scanf("%d %d %d",i,j,k);
max(i,j,k);
return 0;
}
void max(int a,int b,int c)
{
int temp;
if(ab)
{
temp=b;
b=a;
a=temp;
}
if(ac)
{
temp=c;
c=a;
a=temp;
}
if(bc)
{
temp=c;
c=b;
b=temp;
}
printf("????????????? 輸入的3個(gè)整數(shù)中最大值為:%d\n",a);
}
C語(yǔ)言C99新特性里面有現(xiàn)成的求解最大值函數(shù),fmax, 包含的庫(kù)為math.h, 具體的函數(shù)聲明為:
double fmax(double x, double y);
如果用int類型也沒(méi)有問(wèn)題,我剛剛試了一下。
C語(yǔ)言沒(méi)有標(biāo)準(zhǔn)的max和min函數(shù)。
常規(guī)情況下,幾乎所有的編譯器使用宏來(lái)實(shí)現(xiàn) max() 及 min() 函數(shù),
它們一般在 stdio.h 這份文件中以宏方式被聲明。
使用宏來(lái)實(shí)現(xiàn)的原因一般是因?yàn)檫@兩個(gè)函數(shù)非常簡(jiǎn)單,
它們一般的實(shí)現(xiàn)如下:
#define max(a,b) ( ((a)(b)) ? (a):(b) )
#define min(a,b) ( ((a)(b)) ? (b):(a) )
使用宏的另外一個(gè)好處是使得該函數(shù)具備了“重載”功能,
可以讓傳遞的參數(shù)不局限于某種類型(只限基本類型-非結(jié)構(gòu)類型),如 int 或 char。
#include“stdio.h”
ints_max(inta,intb,intc)/*求最大值函數(shù)*/
{
intmax;
if(a=b)
max=a;
else
max=b;
if(maxc)
max=c;
returnmax;
}
ints_min(inta,intb,intc)/*求最小值函數(shù)*/
{
intmin;
if(a=b)
min=b;
else
min=a;
if(minc)
min=c;
returnmin;
}
floats_pin(inta,intb,intc)/*求平均值函數(shù)*/
{
floatpin;
pin=(a+b+c)/3.0;
returnpin;
}
mian()
{
inta,b,c;
printf("請(qǐng)輸入三個(gè)整數(shù):");
scanf("%d,%d,%d",a,b,c);
printf("這三個(gè)整數(shù)中的最大值是:%d",s_max(a,b,c));
printf("這三個(gè)整數(shù)中的最小值是:%d",s_min(a,b,c));
printf("這三個(gè)整數(shù)的平均值是:%f",s_pin(a,b,c));
getch();
}
擴(kuò)展資料
11H1333:三個(gè)數(shù)的最大值
#includebits/stdc++.h
usingnamespacestd;
intmain(){
inta,b,c;
cinabc;
coutmax(max(a,b),max(b,c));
return0;
}
1、max函數(shù)不是一個(gè)C語(yǔ)言里提供給的函數(shù),而是程序員自己定義的。一般來(lái)說(shuō),max函數(shù)是用來(lái)求一組數(shù)據(jù)中的最大值。
2、例如:
int?max(int?a,int?b)
{
if?(ab)
return?a;
else
return?b;
}
//?或者用更簡(jiǎn)單的:
int?max(int?a,int?b)
{
return?ab?a:b;
}
//或者使用宏定義:
#define?MAX(a,b)?(ab)?(a):(b)
main()
{
int?x,y,z,max;
printf("input?two?numbers:\n");
scanf("%d%d",x,y);
z=MAX(x,y);
printf("maxnum=%d",z);
getch();
}