13,825
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
int main() {
int a,b,c;
int qmax(int a,int b,int c);
int qmin(int a,int b,int c);
scanf("%d%d%d",&a,&b,&c);
int max=qmax(a,b,c);
int min=qmin(a,b,c);
int mid=a+b+c-(max+min);
printf("最大值为:%d,中间值为:%d,最小值为:%d\n",max,mid,min);
printf("排序后:\n");
printf("%d %d %d\n",max,mid,min);
return 0;
}
int qmax(int a,int b,int c){
int max;
max=(a>b)?(a>c?a:c):(b>c?b:c);
return max;
}
int qmin(int d,int e,int f){
int min;
min=(d<e)?(d<f?d:f):(e<f?e:f);
return min;
}
运行的结果如图:
你的程序这样看来没有问题
#include <stdio.h>
void sort(int &a, int &b, int &c)
{
if (b > c) c += b -= c, b = c - b;
if (a > b) b += a -= b, a = b - a;
if (b > c) c += b -= c, b = c - b;
}
int main()
{
int a, b, c;
puts("enter 3 numbers:");
scanf("%d%d%d", &a, &b, &c);
sort(a, b, c);
printf("max = %d, min = %d, median = %d\n", c, a, b);
return 0;
}