c語言降序排序怎么弄 C語言:已有一個升序的整型數(shù)組,要求輸入一個整數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。請問哪錯了?
C語言:已有一個升序的整型數(shù)組,要求輸入一個整數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。請問哪錯了?這句話if(a[i]>=m)是錯的,因為可能有一個以上的數(shù)字比m大,所以我們無法判斷m放在哪里。if
C語言:已有一個升序的整型數(shù)組,要求輸入一個整數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。請問哪錯了?
這句話if(a[i]>=m)是錯的,因為可能有一個以上的數(shù)字比m大,所以我們無法判斷m放在哪里。if(a[i]<=m&;a[i 1]>=m){for(J=NJ>=ij--){a[J]}a[i]=m}和{}:for(i=1I<=n1i){printf(%d”,a[i])返回0}~數(shù)字少,我們可以用簡單的if嵌套語句列出所有的情況;但是,一旦有許多數(shù)字要比較,這種方法就缺乏可執(zhí)行性;因此,我們可以用數(shù)組的思想來編程;這里有一個例子:10個數(shù)字從小到大排列,輸出:#include“stdio”。該公司的??定義10int定義10int主要(){ int a[n int a a[n int i,j,t printf(“請輸入%d數(shù)字:n“,n 為(i<0i<I<Ni)定義n 10int定義10int主要(){ 定義10int a[n int a a a[n int、j、j、t、t、t 為(請輸入%d數(shù)字:n “、n)、n } } } printf(“restorrd編號為:n”) 對于(i=0i<Ni))附件:在程序的開頭定義了一個宏常量,通過改變宏常量,可以整體改變宏常量;增加了程序的靈活性,便于修改源程序;如果要把程序由大到小排列,只需改變程序的一部分,這里不做詳細說明,我們已經(jīng)討論了^ ^
根據(jù)下面的思路,您可以:
1定義一個由三個元素組成的數(shù)組;
2輸入三個數(shù)字;
3按降序排列數(shù)組;
4輸出數(shù)組。代碼:int main(){int a[3],I,J,t for(I=0 I< 3 I)scanf(%d”,a I)for(I=0 I< 2 I)for(J=1 J< 3 J)if(a[I]>A[J]){t=a[I]a[I]=a[J]a[J]=t}for(I=0 I< 3 I)Printf(%d,”,a[I])}]~[示例]按大小順序?qū)⒄麛?shù)插入有序數(shù)組。為了按大小向有序數(shù)組中插入一個數(shù)字,我們首先要確定排序是從大到小還是從小到大。如果排序從大到小,則可以將要插入的數(shù)字與數(shù)組中的每個數(shù)字逐一進行比較。當找到比要插入的數(shù)字小的第一個元素I時,它前面的元素就是插入位置。然后,從數(shù)組的最后一個元素到該元素,一個單元格一個接一個地向后移動。最后,將插入數(shù)指定給元素I。如果要插入的元素數(shù)小于所有元素的值,則插入最后一個位置。
C語言將數(shù)組a中的10個整數(shù)降序排列并輸出,如何編程?
C語言數(shù)組元素大小排序方法:下面是冒泡排序方法,實線數(shù)組從小到大排序。思想:每次比較兩個相鄰的數(shù)字,如果是升序,大的數(shù)字放在后面,一個循環(huán)后,最大的數(shù)字放在最后。102、3、4、5、6、9、8、7和1是要排序的輸入序列。第一次排序后,將最大的10放在最后,第二次排序時,將剩余的2、3、4、5、6、9、8、7和1冒泡,將當前最大的9放在倒數(shù)第二位,依此類推。具體代碼如下:#include