选择法函数排序
我感觉我这个程序没问题,为什么输入数字以后什么都没有呢
#include<stdio.h>
void sort(int b[],int n) //选择排序,每一次选出最小值放在最前面
{
int i,j,k,temp; //k记录最小值位置
for(i=0;i<n-1;i++) //一共比较n-1趟
{
k=i; //假定第一位存放最小值
for(j=i+1;i<n;j++)
if(b<b)k=j; //如果前面的数a比后面的a大,将j的值赋值给k
if(k!=i)
{
temp=b;b=b;b=temp; //将两元素交换位子
}
}
}
int main()
{
int a,i;
printf("Please enter array:\n");
for(i=0;i<10;i++)
scanf("%d",&a);
sort(a,10);
printf("The sorted array:\n");
for(i=0;i<10;i++)
printf("%d",a);
printf("\n");
return 0;
} 本帖最后由 jhq999 于 2021-10-17 13:26 编辑
int i,j,temp;
for(i=0;i<n-1;i++) //一共比较n-1趟
{ //假定第一位存放最小值
for(j=i+1;j<n;j++)
{
if(b<b)
{
temp=b;b=b;b=temp; ///如果前面的数a比后面的a大,将两元素交换位子
}
}
}
jhq999 发表于 2021-10-17 11:30
好像还是不行 jhq999 发表于 2021-10-17 11:30
这是截图 好像还是差点什么但是可以有输出了{:10_266:} 本帖最后由 jhq999 于 2021-10-17 13:52 编辑
你知道吗我会 发表于 2021-10-17 13:38
这是截图 好像还是差点什么但是可以有输出了
temp=b;b=b;b=temp;///////////////////b=b; jhq999 发表于 2021-10-17 13:51
你好!很感谢啊 这个确实可以得到正确的结果了!可是我还是想知道为什么我设置了一个k变量来转化的话就完全不对呢
页:
[1]