c语言中数组排序的函数 数组排序算法c语言

C语言实现一个函数,将数组整体升序排列.

我亲手写的。

成都创新互联专注于中大型企业的成都网站设计、网站制作和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户近千家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注成都品牌网站建设和互联网程序开发,在前进的路上,与客户一起成长!

#includestdio.h

#includestdlib.h

int get_len(char *);

void rp_last(char* , char* , char* );

int get_len(char* str)

{

if(str == NULL) return -1;

int i;

for(i=0;str[i];i++);

return i;

}

void rp_last(char *s,char *sub1,char *sub2){

int i,j;

int k;

int sLen;

int sub1Len;

int sub2Len;

sLen=get_len(s);

sub1Len=get_len(sub1);

sub2Len=get_len(sub2);

for(i=sLen-1;i=0;i--)

{

for(j=sub1Len-1,k=i;j=0k=0;j--,k--)

if(s[k]!=sub1[j]) break;

if(j0) break;

}

//printf("%d\n",i);

if(j=0)

printf("not found!\n");

else if(sub1Lensub2Len)

{

k=sub1Len-sub2Len;

for(j=i+1;s[j-k]=s[j];j++);

for(j=sub2Len-1;j=0;j--,i--)

s[i-k]=sub2[j];

}

else{

k=sub1Len-sub2Len;

s[k+sLen]='\0';

for(j=sLen-1;ji;j--)

s[j+k]=s[j];

for(j=sub2Len-1;j=0;j--,i--)

s[i+k]=sub2[j];

}

printf("result:%s\n",s);

return ;

}

void main()

{

char s[256];

char sub1[100];

char sub2[100];

printf("s :");gets(s);

printf("sub1:");gets(sub1);

printf("sub2:");gets(sub2);

rp_last(s,sub1,sub2);

return ;

}

C语言,编写一个函数,函数是用选择排序法将数组排序

#includestdio.h

void px(int a[])

{

int i,temp,j;

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

{

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

{

if(a[i]=a[j])

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

}

void main()

{

int i,a[10];

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

{

printf("成绩:");

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

}

px(a);

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

{

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

printf("\n");

}

}

你的错误有点多,px(10)该改成px(a),还有for语句少打了括号,还有for语句里面的i和p的初值都应该为0,而你的是1,编程序的时候要注意代码的格式 排版 不然很难找错的 就像你的for语句少打了括号一样 自己写完了都不容易看出来

还有你那px函数里面的变量声明了太多,没必要 代码看起来要简单 可读性才强

我帮你把没必要的删了 看起来更舒服

编写函数,使用选择排序法对数组进行排序(用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语言。数组排序函数(数组,函数,排序)

//#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语言中数组排序的函数 数组排序算法c语言
网页URL:http://pwwzsj.com/article/dohgdsd.html