當前位置:首頁 » 編程語言 » c語言5個數排序

c語言5個數排序

發布時間: 2022-07-28 08:39:38

c語言 任意輸入5個數從小到大排列 程序怎麼寫

#include <stdio.h>
int main(int argc, char *argv[])
{
int a[5]; /*保存5個數的數組*/
int i = 0 , j = 0; /*計數器*/
int m = 0 ; /*用於標識最小的那個數*/
int n; /*用於兩個數的交換,中間值*/

/*從鍵盤接收5個數*/
for( i = 0 ; i < 5 ; i ++)
{
printf("請輸入第%d個數", i + 1);
scanf("%d",&a[i]);
}

/*排序演算法:選擇排序*/
for( i = 0 ; i < 5 ; i ++)
{
m = i ;
for( j = i +1 ; j < 5 ; j ++)
if( a[j] < a[m] )
m = j ;
n = a[i];
a[i] = a[m];
a[m] = n;
}

/*輸出*/
printf("經過排序後,這些數是:\n");
for( i = 0 ; i < 5 ;i ++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

Ⅱ c語言任意輸入5個數,並按從大到小順序輸出

可以採用以下的代碼進行計算:

#include<stdio.h>

#include<stdlib.h>

intmain()

{

inta[5];

inti,j,k;

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

{

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

}

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

{

for(j=0;j<=4;j++)

{

if(a[i]>a[j])

{

k=a[i];a[i]=a[j];a[j]=k;

}

}

}

printf("排序結果是: ");

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

{

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

}

return0;

}

(2)c語言5個數排序擴展閱讀:

數據類型關鍵字

short:修飾int,短整型數據,可省略被修飾的int。(K&R時期引入)

long:修飾int,長整型數據,可省略被修飾的int。(K&R時期引入)

long long:修飾int,超長整型數據,可省略被修飾的int。(C99標准新增)

signed:修飾整型數據,有符號數據類型。(C89標准新增)

unsigned:修飾整型數據,無符號數據類型。(K&R時期引入)

restrict:用於限定和約束指針,並表明指針是訪問一個數據對象的唯一且初始的方式。(C99標准新增)

復雜類型關鍵字

struct:結構體聲明。(K&R時期引入)

union:聯合體聲明。(K&R時期引入)

enum:枚舉聲明。(C89標准新增)

typedef:聲明類型別名。(K&R時期引入)

sizeof:得到特定類型或特定類型變數的大小。(K&R時期引入)

inline:內聯函數用於取代宏定義,會在任何調用它的地方展開。(C99標准新增)

Ⅲ 用c語言怎麼對五個數排序

#include<stdio.h>
void sort(int a[])
{int i,j,t;
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
}
int main()
{int i,j,a[6][5];
for(i=0;i<6;i++)
{ for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
sort(a[i]);
}
for(i=0;i<6;i++)
{printf("Case %d:",i);
for(j=0;j<5;j++)
printf(" %d",a[i][j]);
printf("\n");
}
return 0;
}

Ⅳ C語言,5個數按從大到小排序,冒泡法

#include<stdio.h>

#define N 5

void main()

{ int a[N],i,j,t;

printf("請輸入5位學生的成績 ");

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

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

for(i=0;i<N-1;i++)

{for(j=0;j<N-1-i;j++)

if(a[j+1]<=a[j]){

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

}

}

printf("成績由高到低的排序為: ");

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

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

}

演算法穩定性

冒泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。所以,如果兩個元素相等,是不會再交換的;如果兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以相同元素的前後順序並沒有改變,所以冒泡排序是一種穩定排序演算法。

以上內容參考:網路-冒泡排序

Ⅳ 從鍵盤輸入5個整數,按照其值從大到小排序 C語言做,小白式

C語言實現5個整數的降序排序,參考代碼如下:

#include<stdio.h>
#defineN5
voidBubbleSort(inta[],intn)
{
inti,j,t;
for(i=0;i<n-1;++i)
for(j=0;j<n-i-1;++j)
if(a[j]<a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
intmain()
{
inti,a[N];
for(i=0;i<N;++i)
scanf("%d",&a[i]);
BubbleSort(a,N);
for(i=0;i<N;++i)
printf("%d",a[i]);
return0;
}

Ⅵ c語言輸入任意5個實數,按照由大到小排序輸出

用C語言實現如下功能:從鍵盤輸入5個實數,可以使用冒泡排序法把他們降序輸出。

#include 「stdio.h」

main()
{
int a[8];

int j,i;

for(i=0;i<5;i++)
{
printf(「請輸入第%d個數:\n」,i+1);

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

}

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

for(i=0;i<5–j;i++)
{
if(a[i]>a[i+1])
a[i+1]=a[i];

}

for(i=0;i<5;i++)
printf("\n排序後的結果是:%d\n",a[i]);
return 0;
}

Ⅶ c語言編程:隨機輸入五個整數,利用選擇排序法對輸入的數進行從小到大排序

你的程序邏輯有些問題,輸入,排序,輸出分開做,這樣更明確,更清晰,代碼如下:

#include<stdio.h>
#include<stdlib.h>

intmain()
{
inta[5];
inti,j,t;
intmin;

//輸入
printf("input5numbers: ");
for(i=0;i<5;i++)
scanf("%d",&a[i]);

//選擇排序
for(i=0;i<5;i++){
for(j=i+1;j<5;j++){
if(a[j]<a[i]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}

//輸出
printf("thesorrtednumbers: ");
for(i=0;i<5;i++){
printf("%d",a[i]);
}

printf(" ");

system("pause");
return0;
}

運行結果:

Ⅷ C語言:輸入5個數,用調用函數的方法,從小到大排序 用簡單點的

#include<stdio.h>

voidsort(float*a,intn)

{

inti,j,tmp;

for(i=0;i<n-1;i++)

for(j=0;j<n-i-1;j++)

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

{

tmp=a[j];

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

a[j+1]=tmp;

}

}

voidmain()

{

floata[5];

inti;

printf("請輸入五個數(逗號隔開):");

scanf("%f,%f,%f,%f,%f",&a[0],&a[1],&a[2],&a[3],&a[4]);

sort(a,5);

printf("排序後為:");

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

printf("%.2f",a[i]);

printf(" ");

}

或者三個數的。

void sort(int *a, int *b, int *c)

{

int tmp;

if(*a>*b){

tmp = *b;

*b = *a;

*a = tmp;

}

if(*a>*c){

tmp = *c;

*c = *a;

*a = tmp;

}

if(*b>*c){

tmp = *c;

*c = *b;

*b = tmp;

}

return;

}

(8)c語言5個數排序擴展閱讀:

C語言中沒有預置的sort函數。如果在C語言中,遇到有調用sort函數,就是自定義的一個函數,功能一般用於排序。

一、可以編寫自己的sort函數。
如下函數為將整型數組從小到大排序。void sort(int *a, int l)//a為數組地址,l為數組長度。

{

int i, j;

int v; //排序主體

for(i = 0; i < l - 1; i ++)

for(j = i+1; j < l; j ++)

{

if(a[i] > a[j])//如前面的比後面的大,則交換。

{

v = a[i];

a[i] = a[j];

a[j] = v;

}

}

}

對於這樣的自定義sort函數,可以按照定義的規范來調用。

二、C語言有自有的qsort函數。
功 能: 使用快速排序常式進行排序。頭文件:stdlib.h
原型:

void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

參數:

1、待排序數組首地址。

2、數組中待排序元素數量。

3、各元素的佔用空間大小4 指向函數的指針,用於確定排序的順序,這個函數必須要自己寫比較函數,即使要排序的元素是int,float一類的C語言基礎類型。

Ⅸ C語言中5個數從小到大排序

#include<stdio.h>
intmain()
{
inta[5],i,j,t;
printf("請輸入5個數 ");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<5;i++)
printf("%d",a[i]);
printf(" ");
return0;
}

Ⅹ C語言 五個數排序

#include<stdio.h>

void sort(int a[])

{int i,j,t;

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

for(j=i+1;j<5;j++)

if(a[i]>a[j])

{t=a[i];a[i]=a[j];a[j]=t;}

}

int main()

{int i,j,a[6][5];

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

{ for(j=0;j<5;j++)

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

sort(a[i]);

}

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

{printf("Case %d:",i);

for(j=0;j<5;j++)

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

printf(" ");

}

return 0;

}

熱點內容
cvr網路存儲 發布:2025-01-24 17:24:52 瀏覽:415
腿套壓縮襪 發布:2025-01-24 17:05:16 瀏覽:458
電腦如何將安卓軟體卸載干凈 發布:2025-01-24 17:03:06 瀏覽:489
hello密碼怎麼破解 發布:2025-01-24 17:03:06 瀏覽:73
pspfifa無緩存 發布:2025-01-24 16:45:13 瀏覽:165
androidhandler機制 發布:2025-01-24 16:41:10 瀏覽:936
安卓系統如何下載aov 發布:2025-01-24 16:29:53 瀏覽:573
iptables允許ip訪問 發布:2025-01-24 16:19:58 瀏覽:932
安卓80如何識別存儲卡許可權 發布:2025-01-24 16:19:54 瀏覽:232
存儲介質價格 發布:2025-01-24 16:19:18 瀏覽:151