#include<stdio.h>
void main()
{int a[10],i,j,min,temp;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
{
min=a[i-1];
for(j=i;j<10-i;j++)
if(min>a[j])
min=a[j];
temp=a[i-1];
a[i-1]=min;
a[j]=temp;
}
for(i=0;i<10;i++)
ptintf("%5d",a[i]);
}
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{int a[10],i,j,min,temp;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
{
min=i-1;
for(j=i;j<10;j++)
if(a[min]>a[j])
min=j;
temp=a[i-1];
a[i-1]=a[min];
a[min]=temp;
}
for(i=0;i<10;i++)
printf("%5d",a[i]);
}
----------------解决方案--------------------------------------------------------
把a[0]设为哨兵,会更好吧,你这是冒泡排序吧
----------------解决方案--------------------------------------------------------
把a[0]设为哨兵,会更好吧,你这是冒泡排序吧
确实是选择排序,怎么总容易把冒泡和选择混淆呢?
//冒泡排序
#include <stdio.h>
#define SIZE 5
int main(){
int a[SIZE] = {1,5,9,3,6};
for (int i = 0;i < SIZE;++i)
for (int j = 1;j < SIZE-i;++j)
if (a[j] < a[j-1]){
int t = a[j-1];
a[j-1] = a[j];
a[j] = t;
}
for (i = 0;i < SIZE;++i)
printf("%5d",a[i]);
return 0;
}
[此贴子已经被作者于2007-8-6 11:05:08编辑过]
----------------解决方案--------------------------------------------------------
不好意思,是选择排序,没注意看
还有快速排序也是,要没注意看,就说错了
我只学了他们,没怎么用,经常说错,但还知道怎么用的
----------------解决方案--------------------------------------------------------
用的地方多着呢,我以前把排序的方法写成函数,每次用的时候直接调用的,都不重新写了!~
----------------解决方案--------------------------------------------------------
你的程序很有问题
/*择排序法 从小到大排列十个数*/
#include<stdio.h>
void main()
{int a[10],i,j,min,temp;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
{
min=a[i-1];
for(j=i;j<10;j++)//此处为什么减i?
if(min>a[j]){
min=a[j];
temp=a[i-1];
a[i-1]=min;
a[j]=temp;
}//此处少了对括号
}
for(i=0;i<10;i++)
ptintf("%5d",a[i]);
}
此外完全可以不用min
----------------解决方案--------------------------------------------------------
此外完全可以不用min变量
我将其改为:
#include<stdio.h>
void main()
{int a[10],i,j,temp;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
{
for(j=i;j<10;j++)
if(a[i-1]>a[j]){
temp=a[i-1];
a[i-1]=a[j];
a[j]=temp;
}
}
for(i=0;i<10;i++)
printf("%5d",a[i]);
}
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
现在还是学生,都学了,很少去用它,哎~~~~~~~~~
悲哉
----------------解决方案--------------------------------------------------------