开发者社区> 问答> 正文

给病人安排好病房。疾病的严重程度用0到10来表示,0表示小毛病,10表示非常严重。

请问我的程序哪里错了,为什么出来的答案和老师的不一样?

#include
#include
#include
using namespace std;
struct Person{
int no;
double num;
};
int comp(const void*p,const void*q){
return ((struct Person*)q)->num-((struct Person *)p)->num;
}
int main(){
int m;
int flag=0;
double a;
cin>>m>>a;
struct Person array[50];
for(int i=0;i cin>>array[i].no>>array[i].num;
qsort(array,m,sizeof(struct Person),comp);
for(int i=0;i if(array[i].num>a){
cout<<setw(3)<<setfill('0')<<array[i].no<<" ";
cout<<fixed<<setprecision(1)<<array[i].num<<endl;
flag=1;
}
}
if(!flag)
cout<<"None"<<endl;
return 0;
}

展开
收起
a123456678 2016-03-06 13:12:24 2252 0
1 条回答
写回答
取消 提交回答
  •  #include <iostream>
    #include <iomanip>
    using namespace std;
    struct patient {
        int number;
        double percent;
    };
    int main(){
        int m;
        double a;
        int n;
        double per;
        int flag;
        while ( cin >> m >> a ){
            struct patient *p = new struct patient[m];
            for ( int i = 0; i <m; i++ ){
                cin >> n;
                cin >> per;
                p[i].number = n;
                p[i].percent = per;
    
                //sort
                for ( int j = i; j >=0 ; j -- ){
                    if ( j -1 >= 0 ){
                        if ( p[j].percent < p[j-1].percent ){
                            struct patient tmp = p[j];
                            p[j] = p[j-1];
                            p[j-1] = tmp;
                        }else {
                            break;
                        }
                    }
                }
    
            }
            for ( int i = m-1; i >= 0 ; i--  ){
                if ( i == m-1 && p[i].percent < a ){
                    cout<< "None" << endl;
                    break;
                }else{
                    if ( p[i].percent > a ){
                        cout << setw(3)<<setfill('0') << p[i].number << " "<<fixed<<setprecision(1) << p[i].percent << endl;
                    }
                }
            }
    
        }
    
    }
    2019-07-17 18:54:24
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
开源项目 OpenGene 发起人:用“互联网+基因技术”改变肿瘤的诊断与治疗 立即下载
新冠肺炎防治手册 立即下载
液体活检,精准分析 立即下载