c語言10個數(shù)從小到大排序 C語言如何輸入十個數(shù),按從大到小順序排列?
C語言如何輸入十個數(shù),按從大到小順序排列?我向您推薦一種常見的優(yōu)化方法,即設置標志。原因是,如果以前有交換,就需要重新審查。如果之前沒有交換,說明排序已經(jīng)完成,也就是說沒有交換的必要。相應的函數(shù)定義如
C語言如何輸入十個數(shù),按從大到小順序排列?
我向您推薦一種常見的優(yōu)化方法,即設置標志。原因是,如果以前有交換,就需要重新審查。如果之前沒有交換,說明排序已經(jīng)完成,也就是說沒有交換的必要。相應的函數(shù)定義如下(我忘記了C語言,所以我不得不寫給你。您可以自己將其更改為C語言):void bubsort(short)arr[],const size &;arrsize){bool issort=false for(size i=0 i< arrsize&!issort i){issort=true for(size j=0j
你好,我是[紅燒不是我的專長],我很高興為你回答。
您可以在輸入的同時插入排序,提高效率。
代碼如下:#include<stdio。H>int main(){int a[10],I,J,t//為(I=0I<10i)定義數(shù)組和其他變量{scanf(%d,&Ampt)//為(J=I,J> 0,J--)輸入臨時變量t//查找插入位置{if(a[J-1]>=t)打斷a[J]=a[J-1]//移動元素以騰出插入空間}a[J]=t//為(I=0I)插入}<10i)//輸出{printf(%D,”,a[i])}printf(“n”)返回0}更專業(yè)的科普知識,歡迎關(guān)注我。如果你喜歡我的回答,也請給我表揚或轉(zhuǎn)發(fā),你的鼓勵是支持我寫下來的動力,謝謝。
C語言如何輸入十個數(shù),按從大到小順序排列?
對于少數(shù)數(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)討論了^ ^
C語言:使用選擇方法將數(shù)組中的10個數(shù)字從大到小排序
代碼如下。
#include
使用命名空間std
int main()
{
void select uuSort(int arry[],int n)
int a[10],i
for(i=0i<=9i)
{
cin gt>>a[i
]}
cout<<endl
cout<< select sort(a,10)
for(i=0i<=9i)
{
cout<<a[i]<'“
}
cout<<endl
return 0
}
void select_uu2;sort(int arry[],int n)
{
int i,j,k,t
for(i=0i<=n-1i)
{
k=i
for(j=i 1j<nj)
{
if(array[j]<ary[k])
{
k=j]}]t=array[k
]array[k]=array[i
]array[i]=t
}]材料:
返回是指將程序流從被調(diào)用函數(shù)變?yōu)橹骱瘮?shù),將表達式值帶回主函數(shù),實現(xiàn)函數(shù)值的返回。返回時,可以附加返回值,并在返回后由參數(shù)指定。