本文目錄一覽:
- 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
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/233780.html