用三目运算符exp1?exp2:exp3判断出三个数中的最大值最小值,中间值为三个整数相加减去最大最小值。
程序如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int maxnum(int x, int y, int z)
{
int max;
max = x > y ? x : y;
max = z > max ? z : max;
return max;
}
int small(int x, int y, int z)
{
int small;
small = x < y ? x : y;
small = z < small ? z : small;
return small;
}
int middle(int x, int y, int z)
{
int middle;
middle = x + y + z - small(x, y, z) - maxnum(x, y, z);
return middle;
}
int main()
{
int a, b, c;
int A, B, C;
printf(“请输入三个整数:”);
scanf("%d %d %d", &a, &b, &c);
A=maxnum(a, b, c);
B=middle(a, b, c);
C=small(a, b, c);
printf("\n排序后的三个数为:");
printf("%d,%d,%d\n", A,B,C);
system("pause");
return 0;
}
程序运行结果如下: