C语言数字排序

C语言数字排序,第1张

输入scanf是用的变量老键地址

&x

&y

&z

输出时,是用的变量x,

y,

z

所以sort3要改变这3个变量地址(指针)指向的值

#include

<stdio.h>

void

sort3(double

*x,

double

*y,

double

*z)

int

main(int

argc,

char

*argv[]){

double

x,y,z

if(scanf("%lf

%lf

%lf",&x,&y,&z)==3){

sort3(&x,&y,&z)

printf("%lf\n%lf\猛辩n%lf\n",x,y,z)

}else{

fprintf(stderr,"Error:

Incorrect

format\n")

}

return

0

}

void

sort3(double

*x,

double

*y,

double

*z){

double

a

=

*x,

b

=

*y,

c

=

*z

printf("侍知巧a:%f

b:%f

c:%f\n",a,

b,

c)//testing

if(*x

>

*y)

{

a

=

*y

b

=

*x

}

if(c

<

a)

{

*x

=

c

*y

=

a

*z

=

b

}

else

if(c

<

b)

{

*x

=

a

*y

=

c

*z

=

b

}

else

{

*x

=

a

*y

=

b

*z

=

c

}

printf("sorted

numbers:\n")//testing

printf("%f

%f

%f\n",*x,

*y,

*z)//testing

}

1、首先打开编辑软件,新建一个c程序空文件,引入标准库和主函数,定义一个QuickSort函数用来排序,下面首先编写排序函数的:

2、此处用到快速排序思想,通过一趟排序将要排序的数据分割成独立的两部分,即这里用i和j两个变量分割数据,然后一部分的所仿运有数据都比另外一部分的所有数据都要小,接着对这两部分数据分别进行比较排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列:

3、接着编写主函数,主函数中定义一个数组,然后用scanf接受数组,用户输入10个数以后,会将数存在数组array中,然后并大迅调用上面处理排序的函数,函数的输入就是刚才输入的数,最后在把排序的结果输出即可:

4、最后编译运行,输入10个数,最后控制台输出了排序的结果,证明程序的逻辑是没有问题的。以上就是C语言绝此输入10个数排序的演示:

排序数组可以使用冒泡算法:如果前一个数核拆据比后一个大,则交换。

{

int i,j,t,a[6]

printf("配搜Please input 6 integers:\n")

for(i=0i<6i++)

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

for(i=0i<5i++) /* 冒泡法排序 */

for(j=0j<6-i-1j++)

if(a[j]>a[j+1])

{t=a[j]/* 交换a[i]和a[j] */

a[j]=a[j+1]

a[j+1]=t

}

优点:

简洁紧凑、灵改卖枣活方便:C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行 *** 作,而这三者是计算机最基本的工作单元。

以上内容参考:百度百科-c语言程序设计


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12566611.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存