-
資料量太小了,不需要快速整理,浪費,只需做兩倍的for迴圈即可,步驟如下:
#include
const int n=10;
int a[n],i,j;
int main()
for (i=0;ia[j])
a[i]+=a[j];
a[j]=a[i]-a[j];
a[i]-=a[j];
for (i=0;iprintf("%d ",a[i]);
printf("");
return 0;
-
如果你不會說任何語言,別人怎麼能幫助你?
-
只是用什麼語言編寫程式? 我頭暈。
-
鼓泡法
定義 num n * n * 資料數 * void main()。
int a[num],i,j,t;
scanf("%d",&a[i]);*輸入資料,用 Tab 鍵分隔 *for(i=0; iprocedure sort(l,r: longint);
var i,j,x,y: longint;
begini:=l; j:=r; x:=a[(l+r) div 2];
repeat
而 a[i]while xif i<=j 則演算法穩定性。
冒泡是將小元素放在前面或將大元素放在後面的過程。 比較是兩個相鄰元素的比較,交換也發生在這兩個元素之間。 因此,如果這兩個元素相等,它們將不會再次交換。
如果兩個相等的元素不相鄰,那麼即使兩者在前面的成對交換中相鄰,此時也不會交換,因此相同元素的順序不會改變,因此氣泡排序是一種穩定的排序演算法。
-
c 讀取兩個引數。
consolekeyinfo a = ;
consolekeyinfo b = ;
如果 a 的值大於 b,則輸出 ab,否則 baif(>=,"+
else{","+
-
根據問題的要求,我們可以直接將資料儲存到陣列中,然後以相反的順序輸出陣列元素,而無需更改資料。
更正 ** 如下:
#include
#define n 2000
int main ()
int i=0;
int n=0,a[n];
scanf("%d",&n);
for(i;iscanf("%d",&a[i]);
for(i=n-1;i>=0;i--)
printf("%d ",a[i]);
return 0;
-
在第一行輸入乙個整數,這很容易操作,只需scanf。
但是,如果你在第二行輸入n個整數,給乙個整數陣列賦值,就不能直接做,你只能先把第二行輸入的所有數字都儲存到乙個字串裡,然後用迴圈根據第一行輸入的數字來解析字串, 然後將值逐個分配給整數陣列。
或者對每個整數按回車鍵。
只需使用陣列即可。
var a:array[1..1000]of longint; >>>More