當前位置:首頁 » 編程語言 » c語言降序排列

c語言降序排列

發布時間: 2022-06-05 12:02:51

c語言數組七個數升序排列和降序排列怎麼編程

#include<stdio.h>void Lsort(int a[],int n);//函數聲明
void Hsort(int a[],int n);void main()
{
int a[7]; //7個數的數組。定義的是整數,如需實數,改為float型。
int i;
printf("\nplease input seven integers\n");
for(i=0;i<7;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\nthe integers you input are:\n");
for(i=0;i<7;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
printf("\n");
Lsort(a,7); //函數調用
Hsort(a,7);
}//===========================升序======================================
void Lsort(int a[],int n)
{
int i,j,k; //用於循環控制。
int m; //作為中間變數,也稱暫存單元。
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[k]>a[j])
{
k=j;
}
if(k!=i)
{
m=a[i];
a[i]=a[k];
a[k]=m;
}
}
printf("\n數組升序排序後為:\n");
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
printf("\n");
}//===========================降序==========================
void Hsort(int a[],int n)
{
int i,j,k; //用於循環控制。
int m; //作為中間變數,也稱暫存單元。
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[k]<a[j])
{
k=j;
}
if(k!=i)
{
m=a[i];
a[i]=a[k];
a[k]=m;
}
}
printf("\n數組降序排序後為:\n");
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
printf("\n");
}

② C語言將數組a中的10個整數降序排列並輸出,如何編程

#include<stdio.h>
intmain()
{
inta[10]={1,3,5,7,9,8,4,6,0,2};
inti,j,k;
for(i=0;i<9;i++)
{
for(j=i;j<10;j++)
{
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for(i=0;i<10;i++)printf("%d",a[i]);
}

③ 用C語言編寫,輸入10個數按降序排列

#include "stdafx.h"
#include "stdio.h"

int main(int argc, char* argv[])
{
int a[10];
int i,j,d;
printf("請輸入十個整數,用空格隔開:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]<a[j])
{
d=a[i];
a[i]=a[j];
a[j]=d;
}
}
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
用選擇法。

④ c語言三種排序

常用的c語言排序演算法主要有三種即冒泡法排序、選擇法排序、插入法排序

一、冒泡排序冒泡排序:

是從第一個數開始,依次往後比較,在滿足判斷條件下進行交換。代碼實現(以降序排序為例)

#include<stdio.h>

int main()

{

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

int temp;

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

{//循環次數

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

{

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

{//前面一個數比後面的數大時發生交換 temp = array[j];

array[j] = array[j+1];

array[j + 1] = temp;

}

}

} //列印數組 for (int i = 0; i < 10; i++) printf("%2d", array[i]); return 0;}}

二、選擇排序以升序排序為例:

就是在指定下標的數組元素往後(指定下標的元素往往是從第一個元素開始,然後依次往後),找出除指定下標元素外的值與指定元素進行對比,滿足條件就進行交換。與冒泡排序的區別可以理解為冒泡排序是相鄰的兩個值對比,而選擇排序是遍歷數組,找出數組元素與指定的數組元素進行對比。(以升序為例)

#include<stdio.h>

int main()

{

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

int temp, index;

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

index = i;

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

{

if (array[j] < array[index])

index = j;

}

if(i != index)

{

temp = array[i];

array[i] = array[index];

array[index] = temp;

}

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

printf("%2d"array[i])

return 0;

}

三、快速排序

是通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然後再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。

void QuickSort(int* arr, int size)

{

int temp, i, j;

for(i = 1; i <size; i++)

for(j=i; j>0; j--)

{

if(arr[j] <arr[j-1])

{

temp = arr[j];

arr[j]=arr[j-1];

arr[j-1]=temp;

}

}

}

⑤ 用c語言對n個整數進行降序排列,並輸出排序結果

天吶,這個方法太多了,冒泡,選擇,插入,快速,希爾,歸並,堆都可以

⑥ 如何用C語言將一組數進行降序排列

假設有n個數。
#include<stdio.h>
void min(int *a,int *b)
{
int data;
if(*a<*b)
{
data=*a;
*a=*b;
*b=data;
}
}
int main()
{
int t[10];//假設n=10,可以設置為其他數
int i,j,n=10;
for(i=0;i<n;i++)
scanf("%d",&t[i]);
for(i=0;i<n-1;i++)
{
for(j=i;j<n-1;j++)
{
min(&t[j],&t[j+1]);
}
}
for(i=0;i<n;i++)
printf("%3d",t[i]);
printf("\n");
return 0;
}

熱點內容
tomcat上傳超時 發布:2025-02-09 01:41:42 瀏覽:483
androidactivity豎屏 發布:2025-02-09 01:41:40 瀏覽:377
家庭配置怎麼合理 發布:2025-02-09 01:36:14 瀏覽:807
頭條軍事源碼 發布:2025-02-09 01:31:53 瀏覽:997
androidintent視頻 發布:2025-02-09 01:31:43 瀏覽:858
歐姆龍plc密碼如何設置 發布:2025-02-09 01:24:31 瀏覽:687
php支持jpeg 發布:2025-02-09 01:24:22 瀏覽:803
反編譯去注冊碼 發布:2025-02-09 01:19:48 瀏覽:887
安卓如何查找舊密碼 發布:2025-02-09 01:17:21 瀏覽:418
hadoop雲存儲 發布:2025-02-09 01:02:49 瀏覽:453