用c语言 编写函数对三个整数x,y,z 按从小到大的顺序排列,在主函数中调用它,然后输出排序后的三个数

我说的是用c语言编写啊。 代码啊
2025-03-06 18:16:12
推荐回答(5个)
回答1:

你好,解:由柯西不等式
(a^2+b^2+c^2)(x^2+y^2+z^2)>=(ax+by+cz)^2
当a/x=b/y=c/z时取等号
(a^2+b^2+c^2)(x^2+y^2+z^2)>=(ax+by+cz)^2
所以25*36>=30^2
显然此处取等号
所以a/x=b/y=c/z>0
所以a^2/x^2=b^2/y^2=c^2/z^2=(a^2+b^2+c^2)/(x^2+y^2+z^2)=25/36
所以a/x=b/y=c/z=5/6
所以(a+b+c)/(x+y+z)=a/x=b/y=c/z=5/6
那么(2007a+5b+8c)/(2007x+5y+8z)=5/6 23298希望对你有帮助!

回答2:

#include

void sort(int *p, int *q, int *t)
{
int temp;

if(*p > *q)
{
temp = *p;
*p = *q;
*q = temp;
}

if(*p > *t)
{
temp = *t;
*t = *p;
*p = temp;
temp = *q;
*q = *t;
*t = temp;
}
else if(*q > *t)
{
temp = *q;
*q = *t;
*t= temp;
}
}

main()
{
int num1,num2,num3;
int *p,*q,*t;

p = &num1;
q = &num2;
t = &num3;

printf("please input 3 numbers:");
scanf("%d%d%d",p,q,t);
sort(p,q,t);
printf("%d %d %d\n",*p,*q,*t);
}

测试通过了

回答3:

完全符合要求,测试通过,给分来!

#include
void gc( int a, int b, int c)
{

int k;

if(a>b)
{
k=a;
a=b;
b=k;
}
if(a>c)
{
k=a;
a=c;
c=k;
}
if( b>c)
{
k=b;
b=c;
c=k;
}
printf("a=%d,b=%d,c=%d",a,b,c);
}
void main()
{
int x,y,z;
printf("input x,y,z:");
scanf("%d,%d,%d",&x,&y,&z);
gc(x,y,z);
}

回答4:

直接写个 没有编译 有错误自己修改

void sort(int x,int y,int z){
int tp;
if(y if(z if(y
printf("%d,%d,%d",&x,&y,&z);
}

回答5:

要简单点的还是复杂的,