在一行中输入三个整数
(
),用空格隔开。
输出两行:
第一行输出 `The maximum number is : X`,其中
为最大值;
第二行输出 `The minimum number is : Y`,其中
为最小值。
1 2 3
The maximum number is : 3 The minimum number is : 1
输入为,最大值为
,最小值为
。
注意输出内容的冒号前后均有空格。
给个参考
#include <stdio.h>
int main() {
int a, b,c,temp;
scanf("%d %d %d",&a,&b,&c);
if(a>c){
temp=a;
a=c;
c=temp;
}
if(a>b){
temp=a;
a=b;
b=temp;
}
if(b>c){
temp=b;
b=c;
c=temp;
}
printf("The maximum number is : %d\n",c);
printf("The minimum number is : %d",a);
} #include <stdio.h>
#include <stdarg.h>
#include <limits.h>
typedef enum ExtremumOption
{
EXTREMUN_MIN,
EXTREMUM_MAX
}ExtremumOption;
int extremum_int(ExtremumOption option, const int num, ...)
{
if (num <= 0)
{
return INT_MAX;
}
va_list vaList;
va_start(vaList, num);
int extremum_value = va_arg(vaList, int), count_num = 1;
while (count_num < num)
{
int arg = va_arg(vaList, int);
switch (option)
{
case EXTREMUN_MIN:
extremum_value > arg ? extremum_value = arg : 0;
break;
case EXTREMUM_MAX:
extremum_value < arg ? extremum_value = arg : 0;
break;
}
count_num++;
}
va_end(vaList);
return extremum_value;
}
int main() {
int a = 0, b = 0, c = 0;
scanf("%d %d %d", &a, &b, &c);
printf("The maximum number is : %d\n", extremum_int(EXTREMUM_MAX, 3, a, b, c));
printf("The minimum number is : %d", extremum_int(EXTREMUN_MIN, 3, a, b, c));
return 0;
}