【题目内容】
从键盘输入3个整数,使用自定义函数分别找出其中的最大值和最小值,将最大值放在变量a中,最小值放在变量c中。
【输入形式】
3个数
【输出形式】
按要求存储结果并输出
【测试用例1】
输入:
3 2 1
输出:
a=3,c=1
【测试用例2】
输入:
4 5 6
输出:
a=6,c=4
定义个比较大小函数就行
#include <stdio.h>
void func(int *a,int b,int *c)
{
int max,min,t;
max=min=*a;
if(max<b)
max = b;
if(max<*c)
max = *c;
if(min>b)
min = b;
if(min>*c)
min = *c;
*a = max;
*c = min;
}
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
func(&a,b,&c);
printf("a=%d,c=%d",a,c);
return 0;
}
可以用三目运算符得到,数据通过指针返回。
代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void fun(int* a, int* b, int* c)
{
int max, min, t;
max = *a > (*b > *c ? *b : *c) ? *a : (*b > *c ? *b : *c);
min = *a < (*b < *c ? *b : *c) ? *a : (*b < *c ? *b : *c);
t = (*a + *b + *c) - max - min;
*a = max;
*b = t;
*c = min;
}
int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
fun(&a, &b, &c);
printf("a=%d,c=%d", a, c);
return 0;
}
#include<stdio.h>
int main()
{
int x,y,z,a,c;
scanf("%d%d%d",&x,&y,&z);
a=c=x;
if(a<y)a=y;
if(c>y)c=y;
if(a<z)a=z;
if(c>z)c=z;
printf("a=%d,c=%d",a,c);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!