&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语言程序设计
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)