C语言:调用自定义交换函数,完成5个浮点数从小到大排列

 我来答
百度网友5685470
推荐于2018-04-07 · TA获得超过403个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:152万
展开全部
正如楼上所说,这个方法是很多的。我举一个例子:
#include<stdio.h>
void swap(double *x,double *y)//定义交换函数
{
double temp;
temp=*x;
*x=*y;
*y=temp;
}
main()
{
int i,j;
double st[]={5,3,1,6,2};
for(i=0;i<=3;i++) //冒泡排序
for(j=0;j<=3-i;j++)
if(st[j]>st[j+1])
swap(&st[j],&st[j+1]);
for(i=0;i<5;i++) //输出
printf("%f\t",st[i]);
}
这个程序只能给5,3,1,6,2排序,要想给任意的数排序稍微改动一下就行了,请楼主自己完成,不会的话随时可以问我。
aven_yang
2012-05-02 · TA获得超过719个赞
知道小有建树答主
回答量:350
采纳率:100%
帮助的人:313万
展开全部
我帮你写了一个,希望能帮到你
#include<stdio.h>
void swap(double a[5])//交换函数
{
int i, j;
double temp;
for(i=0;i<5;i++)
{
for(j=i;j<5;j++)
{
if(a[j]<a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
int main()
{
int m;
double a[5];
for(m=0;m<5;m++) //输入5个浮点数
{
scanf("%lf",&a[m]);
}
swap(a);

for(m=0;m<5;m++)//输出排序结果
{
printf("%lf ", a[m]);
}
printf("\n");

return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
707487503
2012-05-02 · TA获得超过111个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:127万
展开全部
排列是很经典的题目 常用的方法有冒泡法 选择法 他们都是通过数组存储 核心思想都很简单 建议你自己上网搜下算法 自己搞定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式