1樓:匿名使用者
#include
using namespace std;int a[10];void input()
}void sortarray() }
}}void output()
cout << endl;
}int main()
輸入10個數,用氣泡排序法按由小到大順序排序並輸出??c語言的
2樓:萬能導師
如下參考:
#包括< stdio, h >
intmain()
{inta[10]={0};
inti=0,j=0,t=0;
for (i = 0;我
< 10;我+ +)
for (i = 0;我< 10;我+ +){for (j = 0;j < 10 - i;j + +) {if (a > [j] a [j + 1)){t=a,[j]。
a[j]=a,a+1加到[j]。
a[m+1]=t;
}}}for (i = 0;我< 10;我+ +){printf("%d",a[i]);}
返回0;}
任意輸入10個資料,程式執行:
擴充套件資料:氣泡排序演算法的複雜原理如下:
1.比較相鄰metaelements。如果第一個比第二個大,就交換它們。
2.對每一對相鄰的元素執行相同的操作,從第一對開始,到最後一對結束。此時,最後一個元素應該是最大的數。
3.對除最後一個元素之外的所有元素重複上述步驟。
4.每次對越來越少的元素重複上述步驟,直到沒有一對數字可供比較。
3樓:路堯家的顧小言
氣泡排序的程式**
如下:#include
int main()
;int i=0,j=0,t=0;
for(i=0;i<10;i++)
for(i=0;i<10;i++)
}}for(i=0;i<10;i++)
return 0;}
任意輸入十個資料,程式執行結果:
4樓:匿名使用者
#include
void main()
;int i=0,j=0,c=0;
printf("請輸入10個數
:\n");
for(i=0;i<10;i++)
for(i=0;i<9;i++)}}
printf("該十個數從小到大排序為:\n");
for(i=0;i<10;i++)}
5樓:匿名使用者
1 輸入;
2 排序;
3 輸出。
參考**如下:
#include
int main()
}for(i = 0; i < 10; i ++)//輸出。
printf("%d,",&a[i]);
printf("\n");
return 0;}
6樓:匿名使用者
#include
#define n 10
void main()
if(!flag) break;
}printf("\n排序後陣列為:\n");
for(int j=0;j printf("s[%d]=%d\n",j,s[j]);} 7樓:匿名使用者 #include #include /*對輸入的10個數,用冒泡排 序法按由小到大順序排序*/ void sort(int array[10])}}}void main() 8樓:匿名使用者 #include #define maxn 10 int main() for (i = 0; i < maxn; i++)printf(i == maxn - 1 ? "%d\n" : "%d ", arr[i]); return 0;} 急:c語言中用冒泡發對10個一維陣列按從小到大順序排序,並輸出。 9樓:匿名使用者 氣泡排序法,準確的形式應該是這樣的: for(i=0;i<9;i++) for(j=0;j<10-i-1;j++)if(a[j]>a[j+1]) for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n"); 10樓:匿名使用者 其實,是你的兩個迴圈錯了,for(i=0;i<9;i++) for(j=0;j<10-i;j++) 這兩個迴圈應該這樣寫for(i=1;i,開始i=1,j<9,則迴圈是從j=0到j=8 ,這樣迴圈9次,也就是第一個數和後面9個數做比較,以下依次比較到最後,輸出結果。 11樓:匿名使用者 j不可能為9;這樣你的兩個問題都解決了! #include main() for(i=0;i<9;i++) for(j=0;j<9-i;j++) //j<10-1-i 這裡錯了 if(a[j]>a[j+1]) for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n");} 12樓:匿名使用者 同學,首先解決問題1: 你的第一個問題分析的正確,a[10]的確越界了,這裡越是你需要再處理一次的地方,每次其實j不應該到10-i而是10-i-1;為什麼能夠執行呢? vs是下不行的。vc 6下沒有檢查資料邊界,所以可以正常執行。我這邊除錯的時候顯示a[10]也就是你說的越界的那個元素的值預設為: 1638280 所以呢,肯定不會因為if(a[j]>a[j+1])影響你的排序。 所以貌似可以正常執行。(你要是會除錯肯定沒有這個問題了) 問題2就是你理解的問題了,氣泡排序就是每次把最大的一個放到最後,那麼下一輪就不需要該輪拍到最後的元素,例如 4 3 2 1變成 3 2 1 4 那麼排的時候就不用考慮4了。到最後一輪時,本身只要排j=0的那麼多拍了j=1 也是沒有影響的,後面的都比之前的大,自然不要比較了啊!!! 說的也不是很清楚,希望可以解決你心頭的疑惑。 求採納哦!! (*^__^*) 嘻嘻…… 輸入一個陣列,按從大到小的順序排序(提示:可使用選擇排序,氣泡排序或插入排序的任何一種) 13樓:匿名使用者 選擇排序:選擇法排序是一種簡單的容易實現的對資料排序的演算法。 以整形陣列元素為例,有陣列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語言中的排序方法選擇方法是首先從要選擇的數中選擇最大(或最小)的數,將它放在第一個位置,然後從剩下的數中選擇最大(或最小)的數放在第二個位置,直到最後從剩下的兩個數中選擇最大(或最小)的數放在倒數第二個位置,剩下的一個數放在最後位置,完成排序。 14樓:無眠之神 用什麼語言好歹說一下吧! c語言 氣泡排序問題 將輸入的10個數按由大到小的次序排序並輸出 15樓:暮影 a[i] a[j]a[j+1]=temp a[i] c++程式題 輸入10個數到一維陣列中,按升序排序後輸出。分別用3個函式 實現資料的輸入,排序和輸出。
20 16樓:微俊 #include using namespace std; void bubblesort(int *pdata,int count) void show(int *pdata){for(int i=0;i<10;++i)cout<純手 打望採納 1. 從鍵盤輸入10個整數,採用氣泡排序法從大到小排序並輸出。 17樓:匿名使用者 #include #include void print(int *a,int n); void paixu(int *a,int n); void main() int swap(int *a,int *b)//交換//氣泡排序,從大到小 void paixu(int *a,int n)}void print(int *a,int n)//程式在vc++6.0裡編譯執行通過,不懂的可追問哦。 18樓:匿名使用者 (int i = 0; i < newarr.length; i++)//氣泡排序 { for (int j = i + 1; j < newarr.length; j++) { if (newarr[i] < newarr[j],ivvhny 19樓:匿名使用者 main() } for(i=1;i<11;i++) printf("%5d,",a[i] ); printf("\n");} 為什麼我做的這個氣泡排序(輸入10個數字,按由大到小的順序排列)有問題呢 20樓:匿名使用者 for(i=0;i<9;i++) for(j=0;j<9-i;j++) {if(a[j] 給陣列任意輸入10個數然後按氣泡排序逆序輸出該十個數 21樓:寂寞而莫我知也 #include int main(void) for(n=0;n<10;n++) printf("%d\t",a[n]); }樓主,我這個簡單,好理解的 22樓:蓬萊 給你一個我的程式,後四行以前用的是冒泡法排序,後四行是逆序輸出。另外,給你補充個知識,其實冒泡法和沉降法的本質是一樣的,都是把小的數字排在前面。只不過冒泡法是小數往上升,沉降法是大數往下降。 我用的是沉降法哦。 #include int main() for(i=0;i<10;i++)}} for(i=9;i>=0;i--) printf(" %d",a[i]); printf("\n");} c語言?include stdio.h void bubble sort int array,int n if 1 flag break void main i bubble sort a,10 for i 0 i 10 i printf d a i printf n 此程式為從小到大排列 incl... c語言隨機輸入10個整數的源 如 下 include stdio.h void fun int a void main int c 10 int i printf 請輸入待排序的10個數 for i 0 i 10 i fun a printf n排序後的數列如下 n for i 0 i 10 i w... include int main for int i 0 i 10 i printf n for int i 0 i 10 i return 0 用c語言,隨機輸入10個整數,用氣泡排序法對這些整數進行從小到大排序,輸出排序前和排序後的數的順序。c語言隨機輸入10個整數的源 如 下 include ...程式設計題 用氣泡排序法將一維陣列A 1010進行排列
用C語言,隨機輸入整數,用氣泡排序法對這些整數進行從小到大排序,輸出排序前和排序後的數的順序
C語言中,用冒泡法對整數進行從小到大排序,而且排序過程也