if(a b){
if(a c)
return a;
else
return c;
}
else{
if(b c)
return b;
#include stdio.h
#define max(a,b) (ab?a:b)
int main(){
int a,b,c;
scanf("%d %d %d",a,b,c);
printf("%d\n",max(max(a,b),c));
return 0;
扩展资料:
JAVA得到数组中最大值和最小值的简单实例
{
public static void main(String args[])
int i,min,max;
min=max=A[0];
System.out.print("数组A的元素包括:");
for(i=0;iA.length;i++)
System.out.print(A[i]+" ");
if(A[i]max)? ?// 判断最大值
max=A[i];
if(A[i]min)? ?// 判断最小值
min=A[i];
System.out.println("\n数组的最大值是:"+max); // 输出最大值
System.out.println("数组的最小值是:"+min); // 输出最小值
该程序输出结果:
参考代码
int main(void) {?
int max = a;//默认最大值为a
//选出a,b中的最大值
if(maxb)
max = b;
//将前两个中最大值与c比较,得出真正的最大值
if(max c)
max = c;
printf("%d",max);//输出最大值
运行截图
分析
关于我写的参考代码我已经加了注释,现在分析一下谭浩强的.void?main()这种用法很古老,不建议使用.编译器给出的错误提示是
再来分析你的
不常规方法:用函数指针变量调用函数
#includestdio.h
int max(int x,int y)
return (xy?x:y);
main()
int (*p)(int,int); //定义p是指向函数的指针变量
int a,b,c,d;
p=max;//使p指向函数max
d=(*p)(a,b);//通过指针变量p调用max函数
printf("max=%d\n",(*p)(d,c));
方法一:交换两个数
#include "stdio.h"
int main()
{ int a,b,c,t;
if(ab)
{t=a;a=b;b=t;}
if(ac)
{t=a;a=c;c=t;}
if(bc)
{t=b;b=c;c=t;}
printf("max=%d\n",c);
printf("%d %d %d",a,b,c);
int max();//函数声明
extern int A,B,C; //外部变量声明
scanf("%d %d %d",A,B,C);//输入外部变量的值
printf("max is %d\n",max());
int A,B,C;//定义外部变量
int max()
int m;
m=AB?A:B;
if(Cm)
m=C;
return m;
以上可以改为
if(c(ab?a:b))
printf("max=%d\n",ab?a:b);
if (xy) //或者直接语句return (xy?x:y);
return x;
return y;
d=max(max(a,b),c);
printf("max=%d\n",d);