用指针作返回值编写函数int *sort(int a, int b, int c)求最大值中间值最小值
本帖最后由 筱海 于 2021-12-1 10:11 编辑用指针作返回值编写函数int *sort(int a, int b, int c),实现求三个数中的最大值、中间值和最小值。
在main函数中进行数据输入和输出,数据之间用”,”隔开。
输入:三个整数,数据之间用”,”隔开。
输出:最大值、中间值和最小值,数据之间用”,”隔开。
本帖最后由 jackz007 于 2021-12-1 12:30 编辑
#include <stdio.h>
#include <stdlib.h>
int * sort(int a , int b , int c)
{
int * d = NULL ;
if(d = (int *) malloc(sizeof(int) * 3)) {
d = (a > b && a > c) ? a : (b > a && b > c) ? b : c ;
d = (a < b && a < c) ? a : (b < a && b < c) ? b : c ;
d = a + b + c - d - d ;
} else {
fprintf(stderr , "Failure of memory allocate .\n") ;
}
return d ;
}
int main(void)
{
int a , b , c , * d ;
scanf("%d,%d,%d" , & a , & b , & c) ;
if(d = sort(a , b , c)) {
printf("%d,%d,%d\n" , d , d , d) ;
free(d) ;
}
}
编译、运行实况:
D:\0002.Exercise\C>g++ -o x x.c
D:\0002.Exercise\C>x
5,7,8
8,7,5
D:\0002.Exercise\C>x
8,7,5
8,7,5
D:\0002.Exercise\C>x
7,5,8
8,7,5
D:\0002.Exercise\C>x
5,8,7
8,7,5
D:\0002.Exercise\C> {:10_254:} 顶 {:10_254:} 也想知道 ,答案 {:10_254:}
页:
[1]