c语言程序在主函数中输入3个数,调用函数找出最大和最小的,并在主函数中输出

如题所述

#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int min(int x,int y,int z) ;
int a,b,d,c;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
d=min(a,b,c);
printf("min=%d\n",d);
}
int max(int x,int y,int z)
{
int q;
if(x>y&&x>z) q=x;
else if(y>z&&y>x) q=y;
else q=z;
return(q);
}
int min(int x,int y,int z)
{
int q;
if(x<y&&x<z) q=x;
else if(y<z&&y<x) q=y;
else q=z;
return(q);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-15
方法1
int max(int a,int b)
{
if(a>b) return a;
else return b;
}
int min(int a,int b)
{
if(a<b) return a;
else return b;
}
void main()
{
int x,y,z,m,n;
scanf("%d%d%d",&x,&y,&z);
m=max(max( x, y),z);
n=min(max( x, y),z);
printf("max=%d\tmin=%d",m,n);
}

方法2
#include <stdio.h>
void main()
{int a,b,c,max,min;
printf("请分别输入a,b,c三个数:\n");
scanf("%d%d%d",&a,&b,&c);
max=min=a;
if(a<b) max=b;
else min=b;
if(max<c) max=c;
if(min>c) min=c;
printf("a=%d,b=%d,c=%d三个数中的最大者为:%d\t最小者为:%d\n",a,b,c,max,min);
}
第2个回答  2009-05-15
#include <stdio.h>

void max_min(int a, int b, int c, int *max, int *min)
{
*max = ((a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c));
*min = ((a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c));
}

void main()
{
int x, y, z, max, min;
scanf("%d %d %d", &x, &y, &z);

max_min(x, y, z, &max, &min);

printf("%d %d\n", max, min);
}
相似回答