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

c語言升序排列

發布時間: 2022-07-21 06:56:35

1. c語言:編寫一個程序用冒泡排序實現升序排列

1、首先打開一個空白的C語言文件,首先先定義一組待排序的數列以及各個變數,接著就是用來處理排序的邏輯:

2. C語言 如何對二維數組升序排列

for(int i=0;i<6;i++){
for(int j=0;j<6-i;j++){
if(a[0][j]>a[0][j+1]){
int temp=a[0][j];
a[0][j]=a[0][j+1];
a[0][j+1]=temp;
}
if(a[1][j]>a[1][j+1]){
int temp=a[1][j];
a[1][j]=a[1][j+1];
a[1][j+1]=temp;
}
}
}

3. C語言,數組數據升序排列

#include <stdio.h>
#include <malloc.h>
int main()
{
int *p=NULL,n=0;
int i,j,temp;
printf("請輸入數組大小!\n");
scanf("%d",&n);
p=(int *)malloc(sizeof(int)*n);
if(p==NULL)
{
printf("內存不足分配失敗!\n");
return 0;
}
printf("請為%d個元素賦值如 1 2 3\n",n);
for(i=0;i<n;++i)
scanf("%d",p+i);
for(i=1;i<n;++i)
{
for(j=0;j<n-i;++j)
if(p[j]>p[j+1])
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}

}
printf("排序結果!\n");
for(i=0;i<n;++i)
printf("%5d",p[i]);
printf("\n");
return 0;
}

4. C語言字元升序排列~

voidmain()

{

charc[10];

inti;

intj;

inttemp;

intlength;

gets(c);

length=strlen(c);//你可能輸入不到10個字元,所以確定總共字元數

for(i=0;i<length-1;i++)//for(i=0;i<9;i++)

for(j=0;j<length-1-i;j++)//這兒問題最大for(j=0;j<9;j++)

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

{

temp=c[j];

c[j]=c[j+1];

c[j+1]=temp;

}

puts(c);

}



5. C語言,數據升序排列

#include"stdio.h"
intmain(intargc,char*argv[]){
inta[100],i,j,k,n;
printf("Inputn(int0<n<101)... ");
if(scanf("%d",&n)!=1||n<1||n>100){
printf("Anerroroccurredwheninputn,exit... ");
return0;
}
printf("Pleaseenter%dinteger(s)... ",n);
for(i=0;i<n;scanf("%d",a+i++));
for(i=0;i<n;i++){
for(k=i,j=k+1;j<n;j++)
if(a[k]>a[j])
k=j;
if(k-i)
j=a[k],a[k]=a[i],a[i]=j;
printf(i?"%d":"%d",a[i]);
}
printf(" ");
return0;
}

運行樣例:

6. c語言 使用冒泡排序將一維數組A中的N個元素升序排列

方法和詳細的操作步驟如下:

1、第一步,打開C文件,定義一組序列和要排序的各種變數,然後處理排序邏輯,具體的代碼見下圖,轉到下面的步驟。

7. 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;

}

}

}

熱點內容
androidmime 發布:2025-01-31 22:34:44 瀏覽:782
ftp和http的中文含義是 發布:2025-01-31 22:33:48 瀏覽:402
sqlite3存儲圖片 發布:2025-01-31 22:27:14 瀏覽:162
sqlserverphp 發布:2025-01-31 22:22:55 瀏覽:877
曲馬多存儲 發布:2025-01-31 22:22:52 瀏覽:538
緩存兒歌 發布:2025-01-31 22:21:26 瀏覽:528
學java有發展嗎 發布:2025-01-31 21:44:45 瀏覽:569
HBX編程 發布:2025-01-31 21:39:26 瀏覽:161
資料庫精品課 發布:2025-01-31 21:38:14 瀏覽:421
sqlsever語句 發布:2025-01-31 21:34:57 瀏覽:145