码迷,mamicode.com
首页 > 其他好文 > 详细

1020 月饼 (25分)

时间:2020-01-22 16:37:27      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:struct   scanf   else   double   amp   break   std   ++   printf   

#include <stdio.h>
struct STUFF
{
    double ku,price;
    double dan;
};
int main()
{
    int N,D;
    float income=0;
    struct STUFF stuff[1001];
    scanf("%d %d",&N,&D);
    int left=D;
    for(int i=0;i<N;i++)
        scanf("%lf",&stuff[i].ku);
    for(int i=0;i<N;i++)
    {
        scanf("%lf",&stuff[i].price);
        stuff[i].dan=stuff[i].price/stuff[i].ku;
    }
    
    struct STUFF tmp;
    for(int i=0;i<N-1;i++)
    {
        for(int j=0;j<N-1-i;j++)
        {
            if(stuff[j].dan<stuff[j+1].dan)
            {
                tmp=stuff[j];
                stuff[j]=stuff[j+1];
                stuff[j+1]=tmp;
                
            }
        }
    }
    for(int i=0;i<N;i++)
    {
        if(stuff[i].ku<left)
        {
            left-=stuff[i].ku;
            income+=stuff[i].price;
        }
        else if(stuff[i].ku==left)
        {
            income+=stuff[i].price;
            break;
        }
        else
        {
            income+=stuff[i].dan*left;
            break;
        }
    }
    printf("%.2f",income);
    return 0;
}

1020 月饼 (25分)

标签:struct   scanf   else   double   amp   break   std   ++   printf   

原文地址:https://www.cnblogs.com/QRain/p/12228732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!