導航:首頁 > 源碼編譯 > 編寫冒泡排序演算法從大到小

編寫冒泡排序演算法從大到小

發布時間:2022-10-03 09:13:37

❶ 給定一個整數序列,採用冒泡排序實現從大到小排列,並輸出

我這里有一份C語言的代碼,我自己在VS2010測試過沒有問題的。

#include<stdio.h>
#include<stdlib.h>
voidbubble_sort(inta[],intn);
voidbubble_sort(inta[],intn)//n為數組a的元素個數
{
inti,j,temp;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
{
if(a[i]>a[i+1])//數組元素大小按升序排列
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
voidoutput(inta[],intn)
{
inti;
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
}

intmain()
{
intnumber[8]={95,45,15,78,84,51,24,12};
intsize=sizeof(number)/sizeof(int);
bubble_sort(number,size);
output(number,size);
printf(" ");

system("pause");
return0;
}

bubble_sort是冒泡排序演算法,output是輸出,再main裡面有一組測試number

❷ 冒泡排序(從大到小)

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

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

正確的程序代碼如下:

#include<stdio.h>
#defineN5
voidmain()
{ inta[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]);
}

修改兩個地方,一是{從if的前面移動到後面,而是判斷的內容j和j+1交換。

❹ c語言編程題:分別用冒泡法和選擇法對輸入的10個整數由大到小排序

#include <stdio.h>

void maopao(int *a){

int temp=0;

for(int i=0;i<10-1;++i)//只需要冒泡9個數最後一個就已經有序了

for(int j=0;j<10-i-1;++j)//j的取值需<10-i-1;為何-1,

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

{

temp=a[j];

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

a[j+1]=temp;

}

}

void xuanze(int *a){

for(int i=0;i<9;i++)

{

int temp=i,b;

for(int j=i+1;j<10;j++)

{

if(a[temp]<a[j])

temp=j;

}

if(i!=temp)

{

b=a[temp];

a[temp]=a[i];

a[i]=b;}

}

}

int main()

{

int a[10]={7,8,5,4,3,2,6,9,0,1};

int b[10]={1,2,5,7,43,23,565,6,9,10};

maopao(a);

for(int n=0;n<10;++n)

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

printf(" ");

xuanze(b);

for(int n=0;n<10;++n)

printf("%d ",b[n]);

}

(4)編寫冒泡排序演算法從大到小擴展閱讀:

需要說明的是:

1、一個C語言源程序可以由一個或多個源文件組成。

2、每個源文件可由一個或多個函數組成。

3、一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。是整個程序的入口。

4、源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。

5、每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。結構體、聯合體、枚舉型的聲明的「}」後要加「 ;」。

6、標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。

7、自定義函數在使用之前需要進行函數聲明。

❺ 輸入10個數,用冒泡排序法按由小到大順序排序並輸出c語言的

冒泡排序的程序代碼如下:

#include<stdio.h>

int main()

{

int a[10]={0};

int i=0,j=0,t=0;

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

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

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

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

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

{

t=a[j];

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

a[j+1]=t;

}}}

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

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

return 0;}

任意輸入十個數據,程序運行結果:

(5)編寫冒泡排序演算法從大到小擴展閱讀:

冒泡排序演算法的原理如下:

1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

2、對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

3、針對所有的元素重復以上的步驟,除了最後一個。

4、持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

❻ 任意輸入5個整數,利用冒泡排序法排序(從大到小)

#include <stdio.h>

main()

{

int a[6]; /*定義一個整型數組。*/

int i,j,temp; /*定義循環變數和中間變數。*/

for(i=0;i<5;i++) /*進行循環輸入變數。*/

{

printf("please enter a number: "); /*輸出提示。*/

scanf("%d",&a[i]); /*輸入變數賦值給數組變數。*/

}

for(i=0;i<5;i++) /*進行5次循環。*/

{

for(j=i+1;j<5;j++) /*循環比較剩餘的變數。*/

{

if(a[i]<a[j]) /*如果前面一個數比後面數小,交換兩個數的值。*/

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

for(i=0;i<5;i++) /*循環輸出排序以後的結果。*/

{

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

}

}

(6)編寫冒泡排序演算法從大到小擴展閱讀

#include<iostream>

#defineN5

usingnamespacestd;voidbubble(inta[],intn){

for(inti=0;i<n;++i)

for(intj=0;j<n;++j){

if(a[i]<a[j]){

intt=a[i];

a[i]=a[j];

a[j]=t;

}}

}

intmain(){

intarr[N];

inti=0;while(i!=N){//循環輸入

//cout<<s<<endl;//調試用

cin>>arr[i];

++i;

}

bubble(arr,N);

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

cout<<arr[i]<<"";

return0;

}

❼ 冒泡排序(從大到小)

#include <stdio.h>
void sort(int a[])
{
int temp;
for(int i=0;i<9;i++)
{
for(int j=0;j<10-i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("排序後的數據\n");
for(i=0;i<10;i++)
{
if(i==5)
{
printf("\n");
}
printf("%d ",a[i]);
}
printf("\n");
}
void main()
{
int a[10];
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("排序前的數據\n");
for(i=0;i<10;i++)
{
if(i==5)
{
printf("\n");
}
printf("%d ",a[i]);
}
printf("\n");
sort(a);
}

閱讀全文

與編寫冒泡排序演算法從大到小相關的資料

熱點內容
小天才app怎麼升級v242 瀏覽:544
簡單手工解壓玩具製作大全 瀏覽:926
免費編程電子書 瀏覽:869
想玩游戲什麼app最合適 瀏覽:560
安卓手機如何用airportspro 瀏覽:448
怎麼清理idea編譯緩存 瀏覽:951
鏡頭app怎麼推廣 瀏覽:437
什麼app隨便看電視劇 瀏覽:307
2021程序員薪酬 瀏覽:708
糖豆廣場怎麼下載app 瀏覽:213
qtvs2019選哪個編譯器 瀏覽:124
壓縮空氣管能焊嗎 瀏覽:284
linux中yum命令 瀏覽:397
在職演算法工程師 瀏覽:706
電碼加密函數方法有幾種 瀏覽:802
後綴是pdf 瀏覽:720
pr導出壓縮 瀏覽:32
命令語氣 瀏覽:245
脊柱解剖pdf 瀏覽:714
plc入門編程題目及答案 瀏覽:383