c语言子函数排列数组,c语言对数组进行排序的函数
用C语言写一个子函数完成对一整型数组从大到小的排序
#includestdio.h
尼玛网站建设公司创新互联公司,尼玛网站设计制作,有大型网站制作公司丰富经验。已为尼玛上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的尼玛做网站的公司定做!
#includestdlib.h
int main()
{
void sort(int x[],int n);
int *p,i;
int N;
printf("please input the total num:");
scanf("%d",N);
int a[N];
printf("please input the %d num:\n",N);
p=a;
for(i=0;iN;i++)
scanf("%d",p++);
p=a;
sort(p,N);
for(p=a,i=0;iN;i++)
{printf("%d ",*p);p++;}
system("pause");
}
void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;in-1;i++)
{k=i;
for(j=i+1;jn;j++)
if(x[j]x[k])
k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
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 "stdafx.h"//vc++6.0加上这一行.
#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
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语言子函数排列数组,c语言对数组进行排序的函数
文章路径:http://pwwzsj.com/article/hdjscs.html