【OpenJudge】 分配病房

05:分配病房

總時間限制: 
1000ms 
內存限制: 
65536kB
描述

某個科室的病房分爲重症和普通,只有當病人的疾病嚴重程度超過了入住重症病房的最低嚴重值,纔可以安排入住重症病房。 
現在要求設計一個程序,給病人安排好病房。疾病的嚴重程度用0到10來表示,0表示小毛病,10表示非常嚴重。

輸入
第一行輸入病人的個數m(m < 50),以及安排住入重症病房的最低嚴重值a
緊接着m行,每行表示病人編號(三個位,用0補齊)及其疾病的嚴重程度(浮點數,1位小數)。
每個病人的疾病嚴重程度都不一樣。
輸出
要求按照病人的嚴重程度輸出住在重症病房裏的病人的編號

注意:
如果當前所有病人的嚴重程度並不滿足住在重症病房裏,則輸出“None.”(不包括引號)
樣例輸入
10 7.55
006 6.5
005 8.0
004 3.5
009 8.5
011 7.0
043 9.5
003 5.0
103 6.0
112 4.0
118 9.0
樣例輸出
043 9.5
118 9.0
009 8.5
005 8.0


#include<stdio.h>
 #define N 50
void judge(int *pid,float *pse,int n,float level,int count[]);
void sorts(int count[],int *pid,float *pse,int n);
void st(int count[],int id[],float se[],int n);
int  k = 0;
int main()
{
    int num = 0;//病人的個數
    float level = 0.0;//住入病房的最低嚴重值
    int id[N];
    float se[N];
    int count[N];
    scanf("%d %f",&num,&level);
    for(int i=0;i<num;i++)
    {
        scanf("%d %f",&id[i],&se[i]);
    }
    judge(id,se,num,level,count);
   //sorts(count,id,se,num);
    st(count,id,se,k);
    if(k==0)
        printf("None.");
    else{
            for(int i=0;i<k;i++)//正常輸出
            {
                printf("%03d %.1f",id[count[i]],se[count[i]]);
                if(i<k-1)
                    printf("\n");
            }
    }
    return 0;
}


//判斷是否達到入住病房的條件
void judge(int *pid,float *pse,int n,float level,int count[])
{
    for(int i=0;i<n;i++)
    {
        if(*(pse+i)>=level)  //是否超過了最低嚴重值
            count[k++]=i;  //是,將該超過最低嚴重值的id記錄到count[]中   累加k記錄達到要求的病人的個數
            //printf("%03d %.1f\n",*(pid+i),*(pse+i));
    }
 }
/*void sorts(int count[],int *pid,float *pse,int n)
{
    for(int i =0;i<n-1;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(*(pse+count[i])<*(pse+count[j]))
            {
                int temp = count[i];
                count[i] = count[j];
                count[j]  = temp;
            }
        }
    }
}*/
void st(int count[],int id[],float se[],int n)
{
    for(int i = 0;i<n-1;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(se[count[i]]<se[count[j]])
            {
                int temp = count[i];
                count[i] = count[j];
                count[j] = temp;
            }
        }
    }
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章