程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> C語言用函數冒泡排序問題

C語言用函數冒泡排序問題

編輯:C語言問答

C語言用函數冒泡排序問題

#include <stdio.h>
/*冒泡排序   編寫sor函數(只有一個形參int n)*/
int a[100];
main()
{
    int i,n;
    void sort(int n);   
    printf("輸入數據n");
    printf("輸出排序%d個數",n);
    scanf("%d",&n);
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    sort(n);
    printf("輸出排序結果");
    for(i=0;i<=n-1;i++)
    printf("%6d",a[i]);
    printf("\n");
    getch();
}

 

 

 

 

最佳回答:

void sort(int n){
int i,j,t;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++){
if(a[i]<a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}

}
追問:
好像不行吧,,,無論怎麼輸入 a[1]會出現等於0
回答:
我試了下,沒什麼錯誤啊
追問:

void sort(int n)
{
    int i,j,temp;
    for(j=0;j<n-1;j++)
    {
        for(i=0;i<n-j;i++)
         if (a[i]>a[i+1]){temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
     }
}

我這樣哪裡錯了

回答:

   for(j=0;j<=n-1;j++)
   {
       for(i=0;i<n-j-1;i++)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved