用数组对三个数由小到大排序,帮忙找出我写的代码中的错误,谢谢!

[复制链接]
查看11 | 回复1 | 2010-12-23 20:36:02 | 显示全部楼层 |阅读模式
先来看代码
#include
int main()
{
float a[3],min,t;
int i;
printf("请输入三个数:\n");
for(i=0;ia)
{
t=min;min=a;a=t;
}
}
for(i=0;iint main(){ float a[3],min,t; int i,j; printf("请输入三个数:\n"); for(i=0;ia[j]){ t=a[j];a[j]=a;a=t;} } for(i=0;iint main(){ float a[3],min,t; int i; printf("请输入三个数:\n"); for(i=0;ia)
回复

使用道具 举报

千问 | 2010-12-23 20:36:02 | 显示全部楼层
必须要k吧.注意到k有两个地方被赋值,k=i和if(array[j]<array[k]) k=j,且if语句是放在for(j=i+1;j<n;j++)之后,说明k是用来存放10个数中最小数的位置,通过下面3句赋值语句把它放在最前,其他的以此类推.选择法效率比较低,使用冒泡法应该更容易理解一些,且效率更高.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行