大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言用指针函数怎么排序 c语言用指针函数怎么排序的

c语言如何用指针排列字符

#include stdio.h

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

#include string.h

void sort_str(char *str) { // 选择排序

//待补全部分

int i,j,k,t,len = strlen(str);

for(i = 0; i  len - 1; ++i) {

k = i;

for(j = i + 1; j  len; ++j) {

if(str[k]  str[j])

k = j;

}

if(k != i) {

t = str[k];

str[k] = str[i];

str[i] = t;

}

}

}

int main() {

char str[101];

scanf("%s", str);

sort_str(str);//对字符串进行排序

printf("%s\n", str);

return 0;

}

c语言用指针写选择法排序函数

你的程序没错,只不过这不是选择法,是冒泡发,选择发如下:

void sort(int *a,int n)

{

int i,j,t,temp;

for(i=0;in-1;i++)

{

t=i;/初始定义t为未排序数的第一个

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

{

if(*(a+t)*(a+j))/挑选出更大的数的位置,把他赋给t

t=j;

}

temp=*(a+i); /t是最大的那个数的位置,把他和未排序的第一个交换位置

*(a+i)=*(a+t);

*(a+t)=temp;

}

}

main()

{

int i,a[10],*p=a;

printf("input zhe array a:\n");

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

scanf("%d",p++);

printf("\n");

p=a;

sort(p,10);

p=a;

printf("zhe sort array is:\n");

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

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

getch();

}

C语言使用指针实现选择法排序。

#include<stdio.h>

voidprint_result(float*,int);

voidSelect_Sort(float*,int);

intmain()

inti;

floatarray[10];

float*pointer;

printf("请输入10个数:\n");

for(i=0;i<10;i++)

scanf("%f",&array[i]);

pointer=array;

Select_Sort(pointer,10);

print_result(pointer,10);

return0;

voidprint_result(float*p,intn)

{//输出结果

intk;

for(k=0;k<n;k++)

printf("%g\t",*(p+k));

voidSelect_Sort(float*pt,intn)

{//全用指针的选择排序法

inti,j,k;

floattempnum;

for(i=0;i<n;i++){

k=i;

for(j=i+1;j<n;j++)

if(*(pt+j)>*(pt+i))

k=j;

tempnum=*(pt+i);

*(pt+i)=*(pt+k);

*(pt+k)=tempnum;

扩展资料:

其它方法:

voidSelectSort(intarr[],intn)

printf("\n选择排序法过程:\n");

inti,j,k,l,t;

for(i=0;i<n;i++)

k=i;

for(j=i+1;j<n;j++)

if(arr[j]<arr[k])

k=j;

if(k!=i)

t=arr[i];arr[i]=arr[k];arr[k]=t;

for(l=0;l<n;l++)

printf("%3c",arr[l]);

printf("\n");


网站栏目:c语言用指针函数怎么排序 c语言用指针函数怎么排序的
路径分享:http://dzwzjz.com/article/ddogooi.html
在线咨询
服务热线
服务热线:028-86922220
TOP