用指標實現向陣列輸入N個整數,並將資料由大到小排序 輸出

2021-04-17 22:52:11 字數 4134 閱讀 6445

1樓:雨落深山

給你個例子,自己改吧。

#include

#include

#include

int compare(const void *a, const void *b)

int main(int argc, const char *const argv)

2樓:匿名使用者

#include //冒泡

copy

法bai

du(指標

zhidao)

main()

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

printf("%4d",*(p+i));

printf("\n");}

給定一個整數陣列a,請實現一個排序演算法,將該陣列從大到小排列並輸出

3樓:夜黑黎

#include

# define n 100

void main ()

for(i=0;i

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

4樓:兄弟連教育北京總校

public class test

;for (int i = 0; i < 10; i++)system.out.print(arr[i] + " ");

system.out.println();

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

}for (int i = 0; i < 10; i++)system.out.print(arr[i] + " ");}}

設計c語言程式,用一維陣列輸入n個整數,將這n個整數按從大到小排列

5樓:李凱新

給你看看c語言的三種排序方法吧,這是我們老師給總結的,你看懂後就自己在寫這個程式吧!

一、冒泡法(起泡法)

演算法要求:用起泡法對10個整數按升序排序。

演算法分析:如果有n個數,則要進行n-1趟比較。在第1趟比較中要進行n-1次相鄰元素的兩兩比較,在第j趟比較中要進行n-j次兩兩比較。

比較的順序從前往後,經過一趟比較後,將最值沉底(換到最後一個元素位置),最大值沉底為升序,最小值沉底為降序。

演算法源**:

# include

main()

/*輸出排序結果*/

printf("the sorted numbers: ");

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

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

printf("\n");

}演算法特點:相鄰元素兩兩比較,每趟將最值沉底即可確定一個數在結果的位置,確定元素位置的順序是從後往前,其餘元素可能作相對位置的調整。可以進行升序或降序排序。

二、選擇法

演算法要求:用選擇法對10個整數按降序排序。

演算法分析:每趟選出一個最值和無序序列的第一個數交換,n個數共選n-1趟。第i趟假設i為最值下標,然後將最值和i+1至最後一個數比較,找出最值的下標,若最值下標不為初設值,則將最值元素和下標為i的元素交換。

演算法源**:

# include

main()

printf("the sorted numbers: ");

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

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

printf("\n");

}演算法特點:每趟從無序序列中取出第一個數插入到有序序列的合適位置,元素的最終位置在最後一趟插入後才能確定位置。也可是先用迴圈查詢插入位置(可從前往後或從後往前),再將插入位置之後的元素(有序列中)逐個後移一個位置,最後完成插入。

該演算法的特點是在尋找插入位置的同時完成元素的移動。因為元素的移動必須從後往前,則可將兩個操作結合在一起完成,提高演算法效率。仍可進行升序或降序排序。

這應該會對你很有用的,好好學,把它弄懂!祝你好運!

6樓:倒黴熊

#include

#define n 5

int main()

for(i =0;i

}for(i =0;i

return 0;}

7樓:匿名使用者

排序:#include

void main()

for(i=0;i

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

printf("\n");}

8樓:匿名使用者

#include

void sort(int *items, int count)

}int main()

c語言陣列程式設計,輸入n個整數,將這n個數按絕對值由大到小排序輸出

9樓:凌亂心扉

#include<stdio.h>

intmain()

{intn,i,j,t;

inta[11];

scanf("%d",&n);

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

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

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

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

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

{t=a[j];

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

a[j+1]=t;}}

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

{if(i<n-1)

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

else

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

}return0;

擴充套件資料:printf函式定義

函式宣告

intprintf(char*format...);

呼叫格式

printf("<格式化字串>",<參量表>);

格式化字串包含三種物件,分別為:

(1)字串常量;

(2)格式控制字串;

(3)轉義字元。

字串常量原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式控制字串和各輸出項在數量和型別上應該一一對應。其中格式控制字串是以%開頭的字串,在%後面跟有各種格式控制符,以說明輸出資料的型別、寬度、精度等。

格式控制字串format

format--是字串,包含了要被寫入到標準輸出stdout的文字。它可以包含嵌入的format標籤,format標籤可被隨後的附加引數中指定的值替換,並按需求進行格式化。

printf的格式控制字串format組成如下:

%[flags][width][.prec][length]type即:%[標誌][最小寬度][.精度][型別長度]型別功能在c語言中產生格式化輸出的函式(定義在stdio.h中),其向未重定向終端(顯示器、控制檯等)輸出字元。

10樓:瀚漠

#include

#include

int main()

for(i=0; i abs(a[j]))}}for(i=0; i

printf("\n");

return 0;

}好了,除錯通過,輸入陣列後,先列印排序前的陣列,然後排序,之後輸出排序後的陣列。。。

11樓:沐閔馬佳晉

#include

#include

intmain()

for(int

i=0;i

for(int

j=0;j

}for(a=0;a

if(a==n-1)

}return0;}

12樓:諾英申屠聽雲

#include

#include

main()

for(i=0;i

printf("%d

",a[i]);

printf("\n");}

1 輸出陣列元素 輸入正整數n(1n 10),再輸入陣列a的n個整數

include include include define n 10 void main int i,a n b n n scanf d n if n n n n srand unsigned int time null for i 0 i 輸入一個正整數n 1 include int main ...

c語言用三種不同的方法實現輸入整數n求

方法du一 for迴圈語句 zhi include void main printf s d s 方法dao二 while迴圈回語句答 include void main printf s d s 方法三 do.while迴圈語句 include void main while i n printf...

c語言陣列程式設計輸入n個整數將這n個數按絕對值由

include stdio h intmain intn,i,j,t inta 11 scanf d n for i 0 i n i scanf d a i for i 1 i n i for j 0 j n i j if a j a j 1 t a j a j a j 1 a j 1 t for ...