用指针来写冒泡法排序,要求调用函数

2020-11-22 09:47:16 字数 4698 阅读 3815

1楼:听不清啊

#include

#definen10

voidsort(int*a)

}intmain()

{int*p,a[n];

for(p=a;p

用指针方法完成冒泡排序函数。

2楼:

#include

void sort(int* a, int n)}}}void output(int* a,int n)printf("\n");

}int main()

;sort(a,10);

output(a,10);

return 0;}

c语言编程——冒泡排序法。要求:由主函数调用排序子函数,对n个整数进行从小到大的排序,谢了

3楼:匿名用户

#include

void sort(int a,int n)}}}int main()

;sort(a,10);

int i;

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

getchar();

return 0;}

4楼:匿名用户

#include

#define n 10

void paixu(int *arr,int n)}}}void main()

写一函数,对输入的10个整数按由小到大的顺序排列。 要求:用“冒泡法”,必用指针实现,同时用函数调用。

5楼:匿名用户

#include

void sort(int *p, int n)

}int main()

6楼:手机用户

publc class sort(int a )}}

}public class test ;

sort(a);

system.out.println(a);}}

7楼:手机用户

void bubble(char a int n)}

c++指针做形参调用函数,冒泡法将十个数从大到小排序。

8楼:

void max(int*);

这个是函数声明,要放在main()外面的。。。。

9楼:匿名用户

。。。。void max(int*); 怎么被你想出来的。。。

我想用c语言的指针和函数实现冒泡排序,输入一就从小到大排序否则就大到。给数组赋值然后调用第一个函数

10楼:c呀可可

没听懂你想要表达的意思。所以我把你有可能需要的都贴上:(**是以前写的,gcc编译器。有的部分省略了,自行补上。)

排序一维数组(从大到小,普通自定义函数)

输入:1,2,3,4,5,6,7,8,9,10输出:10,9,8,7,6,5,4,3,2,1排序一维数组(从大到小,指针函数)

输入:1,2,3,4,5,6,7,8,9,10输出:10,9,8,7,6,5,4,3,2,1排序二维数组(没用函数)

输入:1 2 3 4

4 2 3 1

4 1 3 2

3 2 4 1

输出结果为:

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

11楼:余烬

下面的j换成i调试一下试试,你是第一个数和其他的数比,你这么写是相邻的数在比,然后下面改成j=i,j

c语言从键盘输入10个数,使用冒泡法对这10个数进行排序。要求使用指针实现。

12楼:凌乱心扉

#include<stdio.h>

voidbubblesort(inta[],intn)

{int i,j,temp,flag=1;

for(i=0;i<n-1&&flag;i++)//比较的趟数

{flag=0;//未进行比较,将flag置0

for(j=0;j<n-1-i;j++)//每趟比较的次数

if(a[j]>a[j+1])//由小到大排序

{temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

flag=1;//若进行了比较,则将flag置1}}

}void main()

{int a[10],i;

printf("pleaseinput10numbers:\n");

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

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

printf("thearrayis:\n");

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

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

bubblesort(a,10);

printf("\naftersortthearrayis:\n");

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

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

printf("\n");

}运行效果:

main()函数用法:

1、大多数unix系统对main函数提供了三个参数,原型如下:

intmain(intargc,char*argv[],char*env[]);其中第三个参数是环境表地址。ansic规定main函数只有两个参数,而且第三个参数与全局变量environ相比也没有带来更多益处,所以posix.1也规定应使用environ而不使用第三个参数。

2、通常用getenv和putenv函数来存取特定的环境变量,而不是用environ变量。

main函数的原型多是下面这种形式:

intmain(intargc,char*argv[]),参数argc代表了输入参数的个数,char*argv[]表示传入的参数的字符串,是一个字符串数组。

例如在linux平台下编写一个小程序:

int main(intargc,char*argv[])

{int i;

printf("argc:%d\n",argc);

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

{printf("argv[%d]:%s\n",i,argv[i]);

}exit(0);

}3、用gcc编译后形成一个a.out的可执行的文件,运行a.out,其结果是:

argc=1,argv[0]=”a.out”

运行的程序的文件名,也占用一个参数位置,也就是说argv数组中的第一个单元指向的字符串总是可执行程序的名字,以后的单元指向的字符串依次是程序调用时的参数。这个赋值过程是操作系统完成的,只需要拿来用就可以了。

4、在命令行参数的提交中,系统会自动给指针数组后加上一个null,所以for(i=0;i<argc;i++)这句也可以换成while(*argv!=null)int main(intargc)省略其它参数的定义也是可以的,这样运行时候argc就直接返回参数个数,而不返回其它。运行命令行参数带有char*argv[]的时候,如果输入参数带有空格,应该用双引号括起来。

13楼:星月小木木

#include "stdio.h"

void main()

printf("the result:");

for(i=9; i>0; i--)//冒泡算法排序}}//把结果打印出来。

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

printf("\n");}

14楼:summer潇潇烟雨

想输入多少个数据都可以自己定义,如果不需要,把n改为10就可以了#include

#include

void main() }

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

for(i=0;i

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

printf("\n");

system("pause");}

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

15楼:叶子不改

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

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

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

*(a+t)=temp;}}

main()

16楼:未龙何然

#include

int main()

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

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

if(a[i]的,也是十个数;

看来你也是用的冒泡法,这不是

选择法。

选择法我也不会。

c语言使用指针实现数组元素冒泡排序

17楼:文化厨子

#include

int main()

18楼:匿名用户

#include

#define n 5

void swap(int *p);

int main()}