個人相片
回應: 陳孟淳 陳律綺 王婕
100資專0301 王婕發表於2012年 03月 14日(三.) 17:22
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(void)
{
    int  n;
    scanf("%d",&n);
    struct student //定義
    {
        char name[20]; //各欄位內容
        char id[15];
        int min;
        int last;
        int usu;
        double average;
    };
    struct student st[100];  //宣告
   
    int i,j;
    struct student a;
    for(i=1;i<=n;i++)
    {
        scanf("%s    %s  %d %d %d",&st[i].name,&st[i].id,&st[i].min,&st[i].last,&st[i].usu);
        st[i].average=st[i].min*0.3+st[i].last*0.3+st[i].usu*0.4;
    }
   
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n-i;j++)
        {
            if(st[i].average < st[i+1].average)
            {
                a=st[i+1];
           st[i+1]=st[i];
               st[i]=a;
            }
         }
     }
     printf("\n");
     
     for(i=1;i<=n;i++)
     {
         printf("%s    %s  %d %d %d %.2lf",st[i].name,st[i].id,st[i].min,st[i].last,st[i].usu,st[i].average);
         printf("\n");
     }
               
   
    system("pause");
    return 0;
   
}