1樓:c呀可可
沒聽懂你想要表達的意思。所以我把你有可能需要的都貼上:(**是以前寫的,gcc編譯器。有的部分省略了,自行補上。)
排序一維陣列(從大到小,普通自定義函式)
輸入:1,2,3,4,5,6,7,8,9,10輸出:10,9,8,7,6,5,4,3,2,1排序一維陣列(從大到小,指標函式)
輸入:1,2,3,4,5,6,7,8,9,10輸出:10,9,8,7,6,5,4,3,2,1排序二維陣列(沒用函式)
輸入:1 2 3 4
4 2 3 1
4 1 3 2
3 2 4 1
輸出結果為:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
c語言:編寫函式用氣泡排序法對陣列中的資料進行從小到大的排序.
2樓:匿名使用者
int i,j,temp;
for(i=0;ia[j+1])}}
之間寫這個
c語言程式設計。。。輸入一陣列,按從大到小的順序排列(提示:可用選擇排序、氣泡排序或插入排序的任意一種)。 10
3樓:劉海桃的女兒
選擇排序:選擇法排序是一種簡單的容易實現的對資料排序的演算法。
以整形陣列元素為例,有陣列a[10](以c語言為例描述),即a[0],a[1],…,a[8],a[9](假設其元素均互不相同)。要求對其元素排序使之遞增有序。
首先以乙個元素為基準,從乙個方向開始掃瞄,比如從左至右掃瞄,以a[0]為基準。
接下來從a[0],…,a[9]中找出最小的元素,將其與a[0]交換。
然後將基準位置右移一位,重複上面的動作,比如,以a[1]為基準,找出a[1]~a[9]中最小的,將其與a[1]交換。
一直進行到基準位置移到陣列最後乙個元素時排序結束(此時基準左邊所有元素均遞增有序,而基準為最後乙個元素,故完成排序)。
以下為乙個用c描述的函式實現上述排序:
void sort(int array,int n)
}printf("排序結果:");
for( i = 0; i < 10; i ++ ) //依次輸出排序結果
printf("%d\t",a[ i ]);
printf("\n");
}pascal為例子
procedure bubble_sort(var l:list);
vari,j:position;
begin
for i:=first(l) to last(l)-1 do
for j:=first(l) to last(l)-i do
if l[j]>l[j+1] then 4 swap(l[j],l[j+1]);
//交換l[j]和l[j+1]
end;
下面使用c++語言編寫
#include
void main()
cout<
}c語言中的排序方法選擇方法是首先從要選擇的數中選擇最大(或最小)的數,將它放在第乙個位置,然後從剩下的數中選擇最大(或最小)的數放在第二個位置,直到最後從剩下的兩個數中選擇最大(或最小)的數放在倒數第二個位置,剩下的乙個數放在最後位置,完成排序。 4樓:匿名使用者 乙個乙個的進行比較,設乙個min,並把第乙個值賦給它,當遇到比他小的數的時候進行互換,直到最後。 5樓:匿名使用者 #include main() } for(i=1;i<11;i++) printf("%d\n",a[i] );} 6樓:_要掵 可以申請乙個臨時變數 來幫助排序。 int a[5] = ; int temp; //臨時變數 int i,j; for(i=0;i<5;i++) for(j=0;j<4;j++)} c語言 使用氣泡排序將一維陣列a中的n個元素公升序排列 7樓:59分粑粑 方法和詳細的操作步驟如下: 1、第一步,開啟c檔案,定義一組序列和要排序的各種變數,然後處理排序邏輯,具體的**見下圖,轉到下面的步驟。 2、第二步,完成上述步驟後,氣泡排序的邏輯是一組數字從第乙個值開始,如果兩個相鄰數字的順序與期望的順序不同,則會交換兩個數字的位置。 重複此過程,直到最後乙個數字。如果需要交換,則排序完成,實現的**見下圖,轉到下面的步驟。 3、第三步,完成上述步驟後,編譯並執行程式,就獲得了想要的結果了,見下圖。這樣,就解決了這個問題了。 8樓:離歌亮仔仔 我這給出乙個不用指標,不用手動分配記憶體空間的相對 精簡易懂 的方法 #include int main() }printf("排序結果:\n"); for(i=0;i printf("%d ",a[i]); printf("\n"); return 0;} 9樓:2013努力實現 #include #include int main() printf("請為%d個元素賦值如 1 2 3\n",n); for(i=0;ip[j+1]) }printf("排序結果!\n"); for(i=0;i printf("%5d",p[i]); printf("\n"); return 0;} 10樓:回歸╮幼稚 #include int main() {int t,i,j,a[100],n; scanf("%d",&n); for(i=0;i scanf("%d",&a[i]); for(i=1;i 11樓:示申僉 #include "stdio.h" int main() for(i=0;i結果: 用c語言程式設計:輸入5個整數,利用氣泡排序法,從小到大排序後輸出。 12樓:匿名使用者 #includevoid main()}}printf("排序後:");for(int k = 0;k<=4;k++) printf("%d ",a[k]);} 截圖壞了,自己執行吧 13樓:匿名使用者 c,語言,這是有c語言程式設計的問題 14樓:匿名使用者 #include void main() int temp; for(i=0;i<5-1;i++) printf("\n");} 編寫c語言程式,把乙個陣列按從小到大的次序排列起來 15樓:乙個青年 源程式以及演算法注釋如下: #define _crt_secure_no_warnings//vs編譯環境需要進行巨集定義,vc6.0可忽略 #include//輸入輸出標頭檔案 int main() for (n = 0; n <= 8; n++)//要進行(10-1)組比較 for (j = 0; j <= 8 - n; j++)//每組進行(10減第幾組)次比較 if (new_number[j] < new_number[j + 1])//比較大小並將大的賦給前面的陣列 }printf("min-->max:\n");//文字提示 for (m = 0; m <= 9; m++)//依次從小到大輸出 printf("%d ", number[m]);//輸出元素 printf("\n"); printf("max-->min:\n");//文字提示 for (m = 0; m <= 9; m++)//依次從大到小輸出 printf("%d ", new_number[m]);//輸出元素 printf("\n"); return 0; }程式執行結果如下: 擴充套件資料: 其他簡單實現程式: #include int main() ;int i,j,temp; for(i = 0;i<10;i++) for(i = 0;i<10;i++)}} for(i = 0;i<10;i++) printf("%d ",a[i]); return 0;} 16樓:4747哦 選擇法#include main() ;int i,j,temp; for(i=0;i<7;i++) for(j=i+1;j<8;j++) if(a[i]大 於號從高到低排序 for(i=0;i<8;i++) printf("%d ", a[i]); }起泡法 #include "stdio.h" main() }p=a; printf("最小%d 最大%d\n",*p,*(p+9)); for(p=a;p-a<10;p++) //輸出排序後的10個數printf("%d ",*p); }#include "stdio.h" main() void fun(int *p) printf("最小%d 二大%d\n",*p,*(p+8)); for(i=0;i<10;i++) printf("%d ",*p++); //移動指標p}#include void sort(int *a,int n)}main() 17樓:織毛衣的手手 #include int* bubblesort(int* ary, int length)}} return ary;} 18樓:悠悠缺刻鬧 簡單,留郵箱我寫乙個發你參考 c語言用指針對n個整數進行排序,並將結果順序數去,要求用乙個函式實現,求完整過程。
10 19樓:2b丶xiao年輕 void sort(int *a,int n)//傳入陣列 和長度}}} 20樓:琦玉 //by cainiaoqi #include void sort(int *array,int n); void print(int *array,int n); void main() ; int i=0; printf("排序前:\n"); print(array,10); sort(array,10); printf("排序後:\n"); print(array,10); }//從大到小排序 void sort(int *array,int n) {int i=0,j=0; int temp=0; for(i=0; i for(j=i; jarray[i]) { //改為array[j] c語言中用氣泡排序法排列任意輸入的10個數,用程式輸出從小到大的排列具體過程,謝謝。。 21樓:匿名使用者 //回答補充,暈,原來是這樣的過程,我把以前的過程刪除了,下面: #include #define n 10 int main() printf("\n"); n++;}} }printf("排序過程結束\n\n"); //結束冒泡 printf("排序結果:\n"); for(i=0;i printf("\n"); return 0;} 22樓:匿名使用者 #include using namespace std; int main() for(i=0;i<10;i++) cout<<'\t'<輸出 排列後資料 return 0;} 23樓:晏鳶 1.冒泡法: 這是最原始,也是眾所周知的最慢的演算法了。他的名字的由來因為它的工作看來象是冒泡: #include void bubblesort(int* pdata,int count) } } }void main() ; bubblesort(data,7); for (int i=0;i<7;i++)cout< 最簡單的方式就是在你呼叫的函式後面加跳轉語句 例如 goto a 然後你在你main函式的定義變數的後 回麵加上a 就行了雖答然不推薦用這種方式 但這是最簡單的。你也可以用其他的例如 while for do while 等迴圈語句寫這個 在main中呼叫函式a後,在回到呼叫函式a之前是嗎?int ... include int main int argc,char argv 如果找到等於 temp 的數字,temp 不再存入陣列if data j temp 否則將 temp 存入陣列的適當位置 else 接著在騰出的位置中存入temp 位置的下標為 j 1 data j 1 temp data p ... 如下 void cmp int a,int b void cmp int a,int b 飲冰軒者 include main 這是引用,指標和這個差不多 include main 這是指標,求採納 void swap1 int a,int b 指標 void swap2 int a,int b 引用...C語言中怎麼實現函式之間的跳轉
你好,謝謝你的回答,我想用c語言來實現,該怎麼程式設計呢?謝謝啦
C 定義函式,有引數,實現對實參值的交換,用指標和引用2種方式實現