當前位置:編程學習大全網 - 編程語言 - 冒泡序列編程

冒泡序列編程

#include

voidBubbleSort(inta[],intn)

{

int i,j,temp,flag = 1;

for(I = 0;I < n-1 & & flag;i++)//比較的通過次數

{

flag = 0;//不進行比較,將標誌設置為0。

for(j = 0;j < n-1-I;j++)//每次行程的比較次數

if(a[j]> a[j+1])//從小到大排序。

{

temp = a[j];

a[j]= a[j+1];

a[j+1]= temp;

flag = 1;//如果進行了比較,則將標誌設置為1。

}

}

}

void main()

{

int a[10],I;

printf(" pleaseinput 10 numbers:\ n ");

for(I = 0;I < 10;i++)

scanf("%d ",& a[I]);

printf(" Thearrayis:\ n ");

for(I = 0;I < 10;i++)

printf("%-4d ",a[I]);

BubbleSort(a,10);

printf(" \ nAftersortthearrayis:\ n ");

for(I = 0;I < 10;i++)

printf("%-4d ",a[I]);

printf(" \ n ");

}

操作效果:

擴展數據:

Main()函數用法:

1.大多數UNIX系統為main函數提供了三個參數。原型如下:

intmain(intargc,char*argv[],char * env[]);第三個參數是環境表地址。ANSIC規定主函數只有兩個參數,第三個參數與全局變量environ相比並沒有帶來更多的好處,所以POSIX.1也規定用environ代替第三個參數。

2、通常使用getenv和putenv函數來訪問特定的環境變量,而不是使用environ變量。

主函數的原型主要采用以下形式:

Intmain(intargc,char * argv []),參數argc表示輸入參數的個數,char * argv []表示傳入參數的字符串,是字符串的數組。

比如,在linux平臺下寫壹個小程序:

int main(intargc,char*argv[])

{

int I;

printf("argc:%d\n ",argc);

for(I = 0;i < argci++)

{

printf("argv[%d]:%s\n ",I,argv[I]);

}

退出(0);

}

3.用gcc編譯形成a.out的可執行文件,運行a.out,結果是:

argc=1,argv[0]="a.out "

運行程序的文件名也占用了壹個參數位置,也就是說argv數組中第壹個單元格指向的字符串始終是可執行程序的名稱,後續單元格指向的字符串是依次調用程序時的參數。這個賦值過程由操作系統完成,只需要使用。

4.在提交命令行參數時,系統會自動給指針數組加壹個NULL,所以對於(I = 0;i < argcI++)這句話也可以改成while (* argv!= null) int main (int argc)也可以省略其他參數的定義,這樣argc會在運行時直接返回參數個數,而不是其他。使用char * argv []運行命令行參數時,如果輸入參數有空格,則應該用雙引號括起來。

  • 上一篇:如何先閱讀
  • 下一篇:現在,大學裏的統計學專業是不是必學MATLAB這個軟件?
  • copyright 2024編程學習大全網