本文目录一览:
- 1、C语言四个数由大到小排列
- 2、c语言排序的方法
- 3、C语言数字排序
C语言四个数由大到小排列
可以将四个数先存到数组中,然后进行插入排序。
一、算法设计:
1、输入4个数;
2、使用任意方法进行排序;
3、输出结果。
二、算法优化:
如果选择插入排序,那么可以在输入过程中,同时完成排序操作,减少一次循环,提高效率。
三、参考代码:
#include stdio.h
int main()
{
int i,j,a[4],n;
for(i = 0; i 4; i++)//循环四次
{
scanf("%d",n);//输入一个数,并存在n中。
for(j = i-1; j=0; j--)//插入排序,查找要插入的位置。
{
if(a[j]=n) break;
a[j+1]=a[j];
}
a[j+1]=n;//插入n值。
}
for(i = 0; i 4; i ++)
printf("%d ", a[i]);//输出结果。
return 0;
}
c语言排序的方法
排序主要分为以下几种。
1.冒泡排序:通过循环比较前后数的大小进行交换。最后使得数组有序。
2.快速排序:首先将第一个数作为一个基准,然后循环,将前半部分大于该数的与后半部分小于该数的进行交换,使得以该数为分界线,前面的小于该数,后面的大于该数,然后分前后两部分继续。
C语言数字排序
输入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
}