二位数组-选择排序

#include<stdio.h>
int main ()

{
    int i,j;
    int a[10];
    int iTemp;
    int iPos;
    printf("为数组元素赋值:\n");
    //通过键盘为数组赋值
    for(i=0;i<10;i++)
    {
        printf("a[%d]=",i);
        scanf("%d",&a[i]);
    }
    //从小到大开始排序  核心程序
    for(i=0;i<9;i++)//0 1 2 3 4 5 6 7 8   9次循环外循环
    {
        iTemp=a[i];
        iPos=i;
        for(j=i+1;j<10;j++)// j = 1 2 3 4 5 6 7 8 9 9次内循环
        {
            if(a[j]<iTemp)
            {
                iTemp=a[j];
                iPos=j;
            }
        }
    }
    //交换两个元素的值
    a[iPos]=a[i];
    a[i]=iTemp;

    //输出数组

    for(i=0;i<10;i++)
    {
        printf("%d\t",a[i]);
        if(i==4)
          printf("\n");
    }

    return 0 ;
}

 

 

运算结果 这种排序方法遇到大的数字就有了问题 不过我也没看懂这种排序算法...

root@dire:~/cprogram# ./x选择法排序.out
为数组元素赋值:
a[0]=1123
a[1]=123
a[2]=123
a[3]=13
a[4]=12
a[5]=31
a[6]=23
a[7]=21
a[8]=3213
a[9]=12
1123    123    123    13    12    
31    23    21    3213    12    root@dire:~/cprogram# ./x选择法排序.out
为数组元素赋值:
a[0]=1
a[1]=2
a[2]=3
a[3]=4
a[4]=5
a[5]=6
a[6]=7
a[7]=8
a[8]=9
a[9]=0
1    2    3    4    5    
6    7    8    9    0    root@dire:~/cprogram#

 

转载于:https://www.cnblogs.com/dire/p/4988747.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值