回覆列表
  • 1 # 使用者5508212097885

    對於少數的數字的排列,可以透過簡單的if巢狀語句便可將所有情況列舉出來;

    但是一旦要比較的數字較多,這種方法便缺少了可執行性;

    因此,我們可以採用陣列的思想來進行程式設計;

    此處以:將10個數按從小到大排列輸出 舉例:

    #include"stdio.h"

    #define N 10

    int main ()

    {

    int a[N];

    int i,j,t;

    printf("Please input %d numbers:\n",N);

    for(i<0;i<N;i++)

    {

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

    }

    for(i=1;i<=N-1;i++)

    {

    for(j=0;j<N-i;j++)

    {

    if(a[j]>a[j+1])

    {

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

    }

    }

    }

    printf("The resortrd numbers is :\n");

    for(i=0;i<N;i++)

    {

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

    }

    }

    附:

    程式開頭採用了定義一個宏常量的方法,可以透過改變該常量來對程式進行整體的改變;增加了程式的靈活性,方便對源程式進行修改;

    如果要按從大到小的排列方式進行排列,僅僅需要更改程式中的一處,此處便不再詳細說明,自己探討^_^

  • 中秋節和大豐收的關聯?
  • 杜蘭特目前的生涯總得分為20978分,你覺得杜蘭特退役時總得分會到多少?