解题思路:
选择排序:每一次都让起始数后面的最大(最小)的数与之交换
参考代码:
#include <iostream>
using namespace std;
void sort(int num[], int len);
void output(const int num[], int len);
int main(void)
{
int i=0, num[10];
do
{
cin >> num[i];
}
while (++i < 10);
sort(num, 10);
output(num, 10);
return 0;
}
void sort(int num[], int len)
{
int i, j, k, temp;
for( i=0; i<len-1; i++ ) //循环len-1次
{
k=i;
for( j=i+1; j<len; j++ )
{
if( num[k]> num[j] )
{
k=j; //k记录着num中最大值元素的下标
}
}
if( k != i )
{
temp=num[i];
num[i]=num[k];
num[k]=temp;
}
}
}
void output(const int num[], int len)
{
for (int i=0; i<len; i++)
{
cout << num[i] << endl;
}
}
0.0分
2 人评分
C二级辅导-同因查找 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题6.5 (Java代码)浏览:1250 |
简单的a+b (C语言代码)浏览:593 |
用筛法求之N内的素数。 (C语言代码)浏览:890 |
1908题解浏览:680 |
1126题解浏览:649 |
杨辉三角 (C语言代码)浏览:733 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:461 |
统计立方数 (C语言代码)浏览:890 |