
编写函数,使用选择排序法对数组进行排序(用C语言)
要求:1、主函数中定义需要排序的数组,并对数组进行初始化(初始化数组的方式自定,可以在定义数组时直接初始化,也可以通过用户输入来确定数组元素),然后输出排序之后的结果。2...
要求:
1、主函数中定义需要排序的数组,并对数组进行初始化(初始化数组的方式自定,可以在定义数组时直接初始化,也可以通过用户输入来确定数组元素),然后输出排序之后的结果。
2、所编写的函数负责使用选择排序法对数组进行排序,特别强调:该函数不受数组元素个数的影响,提示:没有规定函数参数的个数。 展开
1、主函数中定义需要排序的数组,并对数组进行初始化(初始化数组的方式自定,可以在定义数组时直接初始化,也可以通过用户输入来确定数组元素),然后输出排序之后的结果。
2、所编写的函数负责使用选择排序法对数组进行排序,特别强调:该函数不受数组元素个数的影响,提示:没有规定函数参数的个数。 展开
2个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int a[10],i,j,tmp,b;
srand(time(NULL));
for(i=0;i<10;i++)
a[i]=rand()%100;
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
for(i=0;i<9;i++)
{
tmp=i;
for(j=i+1;j<10;j++)
{
if(a[tmp]>a[j])
tmp=j;
}
if(i!=tmp)
{
b=a[tmp];
a[tmp]=a[i];
a[i]=b;
}
}
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
return 0;
}
随机产生数组中的元素, 更合理一些。 百科中有各种版本。
展开全部
#include "stdio.h"
void sort(const int, int*);
int main(int argc, char** argv) {
int array[] = {5, 34, 54, 2, 54, 51, 543, 2};
int i = 0;
int arraySize = sizeof(array)/sizeof(array[0]);
sort(arraySize, array);
for (i = 0; i < arraySize; ++ i) {
printf("array[%d] = %d \n",i, array[i]);
}
return 0;
}
//选择排序
void sort(const int size, int* array){
int i, j = 0;
int temp = 0;
for (i = 0; i < size; ++ i) {
for (j = i + 1; j < size; ++ j) {
if (array[i] < array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询