回覆列表
  • 1 # 使用者834195712159

    程式碼示例:

    #include "stdio.h"

    int main(int argc,char *argv[]){

    int n,i,j,k,t,s[30];

    printf("How many students(1~30)?\nn=");

    while(scanf("%d",&n)!=1 || n<1 || n>30){//限制學生數1~30,若輸錯了要求重輸

    fflush(stdin);

    printf("Input error, redo: ");

    }

    printf("Enter each student"s total grade...\n");

    for(i=0;i<n;scanf("%d",s+i++));//輸入每個學生的成績

    printf("\n");

    for(i=0;i<n;i++){//這裡開始選擇法排序

    for(k=i,j=k+1;j<n;j++)

    if(s[k]<s[j])

    k=j;

    if(k-i)

    j=s[k],s[k]=s[i],s[i]=j;//到這裡排序內容結束,下面是順便輸出

    if(!i || s[i]!=s[i-1])//這個if小演算法解決重分為同名次且佔位問題

    t=i+1;

    printf("%d:\t%d\n",s[i],t);//輸出

    }

    return 0;

    }

  • 中秋節和大豐收的關聯?
  • 焊機通電正常,不起弧怎麼回事?