用C语言输入3个整数,怎么按从小到大的顺序输出?
3个回答
展开全部
#include <stdio.h>
void f(int* x,int* y,int* z)
{
int sum=*x+*y+*z; //三个数之和
//求最大数
int tmp=(*x>*y)?*x:*y;
int max=(tmp>*z)?tmp:*z;
//求最小数
tmp=(*x<*y)?*x:*y;
int min=(tmp<*z)?tmp:*z;
//中间的数为sum减去最大数和最小数
int mid=sum-max-min
//按从小到大重新赋值
*x=min;
*y=mid;
*z=max
}
int main()
{
int a=10,b=-50,c=20;
f(&a,&b,&c);
printf("%d %d %d\n",a,b,c);
return 0;
}
展开全部
#include
void f(int*
x,int*
y,int*
z)
{
int sum=*x+*y+*z; //三个数之和
//求最大数
int tmp=(*x>*y)?*x:*y;
int max=(tmp>*z)?tmp:*z;
//求最小数
tmp=(*x<*y)?*x:*y;
int min=(tmp<*z)?tmp:*z;
//中间的数为sum减去最大数和最小数
int mid=sum-max-min
//按从小到大重新赋值
*x=min;
*y=mid;
*z=max
}
int main()
{
int a=10,b=-50,c=20;
f(&a,&b,&c);
printf("%d
%d
%d\n",a,b,c);
return 0;
}
void f(int*
x,int*
y,int*
z)
{
int sum=*x+*y+*z; //三个数之和
//求最大数
int tmp=(*x>*y)?*x:*y;
int max=(tmp>*z)?tmp:*z;
//求最小数
tmp=(*x<*y)?*x:*y;
int min=(tmp<*z)?tmp:*z;
//中间的数为sum减去最大数和最小数
int mid=sum-max-min
//按从小到大重新赋值
*x=min;
*y=mid;
*z=max
}
int main()
{
int a=10,b=-50,c=20;
f(&a,&b,&c);
printf("%d
%d
%d\n",a,b,c);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询