求下面问题的完整c语言代码

【题目内容】
从键盘输入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;
}

可以用三目运算符得到,数据通过指针返回。

img

代码:

#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;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632