c語言降序排序怎么弄 C語言:已有一個(gè)升序的整型數(shù)組,要求輸入一個(gè)整數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。請問哪錯(cuò)了?
C語言:已有一個(gè)升序的整型數(shù)組,要求輸入一個(gè)整數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。請問哪錯(cuò)了?這句話if(a[i]>=m)是錯(cuò)的,因?yàn)榭赡苡幸粋€(gè)以上的數(shù)字比m大,所以我們無法判斷m放在哪里。if
C語言:已有一個(gè)升序的整型數(shù)組,要求輸入一個(gè)整數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。請問哪錯(cuò)了?
這句話if(a[i]>=m)是錯(cuò)的,因?yàn)榭赡苡幸粋€(gè)以上的數(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ù)組的思想來編程;這里有一個(gè)例子:10個(gè)數(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))附件:在程序的開頭定義了一個(gè)宏常量,通過改變宏常量,可以整體改變宏常量;增加了程序的靈活性,便于修改源程序;如果要把程序由大到小排列,只需改變程序的一部分,這里不做詳細(xì)說明,我們已經(jīng)討論了^ ^
根據(jù)下面的思路,您可以:
1定義一個(gè)由三個(gè)元素組成的數(shù)組;
2輸入三個(gè)數(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ù)組中插入一個(gè)數(shù)字,我們首先要確定排序是從大到小還是從小到大。如果排序從大到小,則可以將要插入的數(shù)字與數(shù)組中的每個(gè)數(shù)字逐一進(jìn)行比較。當(dāng)找到比要插入的數(shù)字小的第一個(gè)元素I時(shí),它前面的元素就是插入位置。然后,從數(shù)組的最后一個(gè)元素到該元素,一個(gè)單元格一個(gè)接一個(gè)地向后移動(dòng)。最后,將插入數(shù)指定給元素I。如果要插入的元素?cái)?shù)小于所有元素的值,則插入最后一個(gè)位置。
C語言將數(shù)組a中的10個(gè)整數(shù)降序排列并輸出,如何編程?
C語言數(shù)組元素大小排序方法:下面是冒泡排序方法,實(shí)線數(shù)組從小到大排序。思想:每次比較兩個(gè)相鄰的數(shù)字,如果是升序,大的數(shù)字放在后面,一個(gè)循環(huán)后,最大的數(shù)字放在最后。102、3、4、5、6、9、8、7和1是要排序的輸入序列。第一次排序后,將最大的10放在最后,第二次排序時(shí),將剩余的2、3、4、5、6、9、8、7和1冒泡,將當(dāng)前最大的9放在倒數(shù)第二位,依此類推。具體代碼如下:#include