数组用函数排列c语言 用数组排序c语言

C语言。数组排序函数(数组,函数,排序)

//#include "stdafx.h"//vc++6.0加上这一行.

创新互联建站-专业网站定制、快速模板网站建设、高性价比福山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式福山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖福山地区。费用合理售后完善,十余年实体公司更值得信赖。

#include "stdio.h"

void Sort(int *p,int n){

int i,j,k;

for(i=0;i10;i++){

for(k=i,j=i+1;j10;j++)

if(p[k]p[j]) k=j;

if(k!=i){

j=p[k];

p[k]=p[i];

p[i]=j;

}

}

}

void main(void){

int mat[10],i;

printf("Type 10 integers...\n");

for(i=0;i10;scanf("%d",mat+i++));

Sort(mat,10);

for(i=0;i10;printf("%d ",mat[i++]));

printf("\n");

}

C语言中通过函数调用对一维数组进行排序

#include stdio.h

#include stdlib.h

#include time.h

#define MAXlen 100

void select_sort(int *x, int n) { //选择排序

int i, j, min;

int t;

for (i = 0; i n - 1; i++) { // 要选择的次数:0~n-2共n-1次

min = i; // 假设当前下标为i的数最小,比较后再调整

for (j = i + 1; j n; j++) { //循环找出最小的数的下标是哪个

if (*(x + j) *(x + min)) {

min = j; // 如果后面的数比前面的小,则记下它的下标

}

}

if (min != i) { // 如果min在循环中改变了,就需要交换数据

t = *(x + i);

*(x + i) = *(x + min);

*(x + min) = t;

}

}

}

int main() {

int i;

int iArr[MAXlen];

srand((unsigned int)time(NULL));

printf("\n排序前:\n");

for(i = 0 ; i MAXlen ; i++) {

iArr[i] = (unsigned int)rand() % 1000;

if(i % 10 == 0) printf("%\n");

printf("%5d",iArr[i]);

}

printf("\n");

select_sort(iArr,MAXlen);

printf("\n排序后:\n");

for(i = 0 ; i MAXlen ; i++) {

if(i % 10 == 0) printf("%\n");

printf("%5d",iArr[i]);

}

printf("\n\n");

return 0;

}

编写函数,使用选择排序法对数组进行排序(用C语言)

#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;i10;i++)

a[i]=rand()%100;

for(i=0;i10;i++)

printf("%3d",a[i]);

printf("\n");

for(i=0;i9;i++)

{

tmp=i;

for(j=i+1;j10;j++)

 {

if(a[tmp]a[j])

tmp=j;

 }

if(i!=tmp)

{

b=a[tmp];

a[tmp]=a[i];

a[i]=b;

}

}

for(i=0;i10;i++)

printf("%3d",a[i]);

printf("\n");

return 0;

}

随机产生数组中的元素, 更合理一些。 百科中有各种版本。

C语言编写函数,数组排序

void Swap(int *a, int *b)

{

int tmp = *a;

*a = *b;

*b = tmp;

}

void Selectsort(int *arr, int sz)

{for (int end=sz-1; end=0; end--)

{

int max = end;

int i;

for ( i = 0; i = end; i++)//选出最大下标

{

if (arr[i] arr[max])

{

max = i;

}

}

Swap(arr, arr[max]);

}

}

int main()

{

int arr[5] = { 1, 3, 2, 5, 4 };

int sz = sizeof(arr) / sizeof(arr[0]);

for (int i = 0; i = sz - 1; i++)

{

scanf("%d", arr[i]);

}

Selectsort(arr, sz);

for (int i = 0; i = sz - 1; i++)

{

printf("%d ", arr[i]);

}

system("pause");

return 0;

}

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md--gt;m域宽,打印出来以后,在控制台上,显示m位;

如果要打印的数的位数如果超过我们设定m则原样输出;

如果要打印的数的位数如果小于设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。


当前题目:数组用函数排列c语言 用数组排序c语言
当前地址:http://scjbc.cn/article/dodccgp.html

其他资讯