您的位置:首页 > 其它

九度OJ 题目1007:奥运排序问题

2017-02-19 03:23 435 查看

题目1007:奥运排序问题

/*********************************
*   日期:2017-2-19
*   作者:qiminghao
*   题号: 九度OJ 题目1007:奥运排序问题
*   来源:http://ac.jobdu.com/problem.php?pid=1007
*   结果:AC
*   来源:2010年浙江大学计算机及软件工程研究生机试真题
*   总结:
**********************************/

#include<stdio.h>

struct Country
{
//编号
int ID;
//金牌数
int goldMedal;
//奖牌数
int allMedal;
//人口数
int people;
//金牌人口比例
double goldProportion;
//奖牌人口比例
double allProportion;
//最佳排名
int ranking;
//最佳排名排名方式
int mode;
//是否参与排名
bool isRanking;
};

//所有国家信息
struct Country ctry[500];

int main()
{
int n,m,i=0,j=0,num;
//排名
int ranking[5];
while(scanf("%d%d",&n,&m)!=EOF)
{
//输入n个国家的奥运金牌数,奖牌数,人口数(百万)
for(i=0;i<n;i++)
{
scanf("%d%d%d",&ctry[i].goldMedal,&ctry[i].allMedal,&ctry[i].people);
ctry[i].goldProportion=(double)ctry[i].goldMedal / (double)ctry[i].people;
ctry[i].allProportion=(double)ctry[i].allMedal / (double)ctry[i].people;
ctry[i].ID=i;
ctry[i].isRanking=false;

4000
ctry[i].ranking=0;
ctry[i].mode=0;
}
//输入m个待排序国家编号
for(i=0;i<m;i++)
{
scanf("%d",&num);
ctry[num].isRanking=true;
}
//得出待排序国家的最佳排名及其排名方式
for(i=0;i<n;i++)
{
if(ctry[i].isRanking==false)
continue;
else
{
//根据奖牌人口比例排名
ranking[4]=1;
for(j=0;j<n;j++)
if(ctry[i].allProportion<ctry[j].allProportion && ctry[j].isRanking==true)
ranking[4]++;
//根据金牌人口比例排名
ranking[3]=1;
for(j=0;j<n;j++)
if(ctry[i].goldProportion<ctry[j].goldProportion && ctry[j].isRanking==true)
ranking[3]++;
//根据奖牌数排名
ranking[2]=1;
for(j=0;j<n;j++)
if(ctry[i].allMedal<ctry[j].allMedal && ctry[j].isRanking==true)
ranking[2]++;
//根据金牌数排名
ranking[1]=1;
for(j=0;j<n;j++)
if(ctry[i].goldMedal<ctry[j].goldMedal && ctry[j].isRanking==true)
ranking[1]++;
ranking[0]=ranking[4];
//选出最佳排名及其排名方式
for(j=4;j>0;j--)
if(ranking[j]<=ranking[0])
{
ranking[0]=ranking[j];
ctry[i].ranking=ranking[j];
ctry[i].mode=j;
}
}
}
//输出排名结果
for(i=0;i<n;i++)
{
if(ctry[i].isRanking==false)
continue;
else
printf("%d:%d\n",ctry[i].ranking,ctry[i].mode);
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: