晨曦到日暮 发表于 2018-1-10 20:04:08

c语言第40题

编写程序,输入10个正整数,将它们从小到大排序后输出。

人造人 发表于 2018-1-10 20:15:30

你是来要答案的吗?
自己写一写呀,这又不难

晨曦到日暮 发表于 2018-1-11 18:42:57

人造人 发表于 2018-1-10 20:15
你是来要答案的吗?
自己写一写呀,这又不难

初学者,这个题我没想出怎么做来?

晨曦到日暮 发表于 2018-1-11 18:43:33

初学者,这个题我没想出怎么做来?

小C不等于小三 发表于 2018-1-11 23:04:34

http://blog.csdn.net/hguisu/article/details/7776068
建议看看,常用的排序算法,看不懂可以先看冒泡排序

晨曦到日暮 发表于 2018-1-15 10:03:13

void print(int a[], int n ,int i)
{
        cout<<"第"<<i+1 <<"趟 : ";
        for(int j= 0; j<8; j++){
                cout<<a <<"";
        }
        cout<<endl;
}
/**
* 数组的最小值
*
* @return int 数组的键值
*/
int SelectMinKey(int a[], int n, int i)
{
        int k = i;
        for(int j=i+1 ;j< n; ++j) {
                if(a > a) k = j;
        }
        return k;
}

/**
* 选择排序
*
*/
void selectSort(int a[], int n){
        int key, tmp;
        for(int i = 0; i< n; ++i) {
                key = SelectMinKey(a, n,i);         //选择最小的元素
                if(key != i){
                        tmp = a;a = a; a = tmp; //最小元素与第i位置元素互换
                }
                print(a,n , i);
        }
}
int main(){
        int a = {3,1,5,7,2,4,9,6};
        cout<<"初始值:";
        for(int j= 0; j<8; j++){
                cout<<a <<"";
        }
        cout<<endl<<endl;
        selectSort(a, 8);
        print(a,8,8);
}

晨曦到日暮 发表于 2018-1-15 10:04:46

有简单一点的方法吗?
页: [1]
查看完整版本: c语言第40题