808.
設計說明:
1. 在main()函數中輸入十個整數,並存於陣列 scoredate中。
2. 將陣列的名稱(scoredate)及陣列的個數(10)傳給排序函數 sorting函數中的 data2及 n,並在 main()函數中輸出此陣列排序前及排序後的元素值。
3. 在 sorting()函數中用氣泡排序法(Bubble Sort)的方法進行排序。
4. 執行結果如範例圖。
參考程式碼:
方法1(先出現最大、次數 (N-1)^2 ):
氣泡排序法重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來...(詳細)。
TQC+ C 試題總整理
方法1(先出現最大、次數 (N-1)^2 ):
- #include<stdlib.h>
- #include<stdio.h>
- void sorting(int*, int);
- int main(){
- int scoredata[10], i;
- printf("請輸入十個數...\n");
- for(i=0;i<10;i++){
- printf("第 %d 個: ",(i+1));
- scanf("%d",&scoredata[i]);
- }
- printf("排序前:");
- for(i=0;i<10;i++)
- printf(" %d",scoredata[i]);
- sorting(scoredata,10);
- printf("\n排序後:");
- for(i=0;i<10;i++)
- printf(" %d",scoredata[i]);
- system("PAUSE");
- return 0;
- }
- void sorting(int* data2,int n){
- int i, j, temp;
- for(i=0;i<n-1;i++){
- for(j=0;j<n-1;j++){
- if(data2[j]>data2[j+1]){
- temp = data2[j+1];
- data2[j+1] = data2[j];
- data2[j] = temp;
- }
- }
- }
- }
- #include<stdlib.h>
- #include<stdio.h>
- void sorting(int*, int);
- int main(){
- int scoredata[10];
- int i;
- printf("請輸入十個數...\n");
- for(i=0;i<10;i++){
- printf("第 %d 個: ",(i+1));
- scanf("%d",&scoredata[i]);
- }
- printf("排序前:");
- for(i=0;i<10;i++)
- printf(" %d",scoredata[i]);
- sorting(scoredata,10);
- printf("\n排序後:");
- for(i=0;i<10;i++)
- printf(" %d",scoredata[i]);
- system("PAUSE");
- return 0;
- }
- void sorting(int* data2,int n){
- int i, j, temp;
- for(i=0;i<n-1;i++){
- for(j=0;j<n-i-1;j++){
- if(data2[j]>data2[j+1]){
- temp = data2[j+1];
- data2[j+1] = data2[j];
- data2[j] = temp;
- }
- }
- }
- }
- #include<stdlib.h>
- #include<stdio.h>
- void sorting(int*, int);
- int main(){
- int scoredata[10];
- int i;
- printf("請輸入十個數...\n");
- for(i=0;i<10;i++){
- printf("第 %d 個: ",(i+1));
- scanf("%d",&scoredata[i]);
- }
- printf("排序前:");
- for(i=0;i<10;i++)
- printf(" %d",scoredata[i]);
- sorting(scoredata,10);
- printf("\n排序後:");
- for(i=0;i<10;i++)
- printf(" %d",scoredata[i]);
- system("PAUSE");
- return 0;
- }
- void sorting(int* data2,int n){
- int i, j, temp;
- for(i=0;i<n-1;i++){
- for(j=n-1;j>0;j--){
- if(data2[j-1]>data2[j]){
- temp = data2[j];
- data2[j] = data2[j-1];
- data2[j-1] = temp;
- }
- }
- }
- }
- #include<stdlib.h>
- #include<stdio.h>
- void sorting(int*, int);
- int main(){
- int scoredata[10];
- int i;
- printf("請輸入十個數...\n");
- for(i=0;i<10;i++){
- printf("第 %d 個: ",(i+1));
- scanf("%d",&scoredata[i]);
- }
- printf("排序前:");
- for(i=0;i<10;i++)
- printf(" %d",scoredata[i]);
- sorting(scoredata,10);
- printf("\n排序後:");
- for(i=0;i<10;i++)
- printf(" %d",scoredata[i]);
- system("PAUSE");
- return 0;
- }
- void sorting(int* data2,int n){
- int i, j, temp;
- for(i=0;i<n-1;i++){
- for(j=n-1;j>i;j--){
- if(data2[j-1]>data2[j]){
- temp = data2[j];
- data2[j] = data2[j-1];
- data2[j-1] = temp;
- }
- }
- }
- }
氣泡排序法重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來...(詳細)。
TQC+ C 試題總整理
聲明:
這裡的範例程式碼皆由本人親自編輯,歡迎轉載本教學,但請註明本網站,尊重一下作者的心血
沒有留言:
張貼留言
歡迎留言,較舊文章需要留言審核看不到自己的留言是正常的。
若長時間無回應請使用以下聯絡方式:
填寫表單:https://forms.gle/hxxX9n4tATcFnhnk8
寄信到:happyplayblogs@gmail.com