POJ 2708 平衡饮食

时间限制: 
1000ms
内存限制: 
65536kB
描述
100克不同食品的营养成分含量如下表:

食品--------蛋白质-------脂肪----------碳水化合物
大米--------7.5----------0.75----------78
面----------10-----------1.25----------75
蔬菜--------1.5----------0.19----------4.28
豆类--------35-----------18------------42
蛋一只------5.0----------5.0-----------0.6
瘦肉--------16.5---------28.8----------1.05
牛肉--------17.7---------20.33---------4.06
鱼----------14.9---------0.8-----------0.93
食油--------0------------100-----------0
水果--------0.85---------0.5-----------8

各种营养成分所含热量如下: 蛋白质:4.1千焦耳/克;脂肪:9.3千焦耳/克;碳水化合物:4.1千焦耳/克。所谓平衡饮食是指食品的荤素搭配适当,蛋白质、脂肪和碳水化合物三者提供的热量之比应在14~16%:30~35%:49~56%之间。
输入
输入只有一行,该行包含十个整数,它们之间用空格隔开,分别表示大米、面、蔬菜、豆类、蛋、瘦肉、牛肉、鱼、食油、水果的摄入量。(鸡蛋的度量单位为只)
输出
输出只有一行,包含根据输入的饮食情况计算出来的平衡状态:平衡输出"yes"或者不平衡输出"no"(不必输出引号)。
样例输入
200 100 240 100 1 100 100 100 25 150
样例输出
no
提示
鸡蛋的度量单位为只!
 
(1)、源代码:
#include <iostream>
 
using namespace std;
 
int main()
{
                int i;
                double num[10];
                double dan[10] = {7.5,10,1.5,35,5.0,16.5,17.7,14.9,0,0.85};
                double zhi[10] = {0.75,1.25,0.19,18,5.0,28.8,20.33,0.8,100,0.5};
                double tan[10] = {78,75,4.28,42,0.6,1.05,4.06,0.93,0,8};
                double tong[4] = {0, 0, 0, 0};
 
                for(i = 0; i < 10; i++){
                                cin >> num[i];
                                if(i == 4){
                                                tong[0] += num[i] * dan[i] * 4.1;
                                                tong[1] += num[i] * zhi[i] * 9.3;
                                                tong[2] += num[i] * tan[i] * 4.1;
                                }
                                else
                                {
                                                tong[0] += num[i] / 100 * dan[i] * 4.1;
                                                tong[1] += num[i] / 100 * zhi[i] * 9.3;
                                                tong[2] += num[i] / 100 * tan[i] * 4.1;
                                }
                }
                tong[3] = tong[1] + tong[2] + tong[0];
                if(tong[0] / tong[3] <= 0.14 || tong[0] / tong[3] >= 0.16 || tong[1] / tong[3] <= 0.3 || tong[1] / tong[3] >= 0.35 || tong[2] / tong[3] <= 0.49 || tong[2] / tong[3] >= 0.56)
                                cout << "no\n";
                else
                                cout << "yes\n";
                return 0;
}
 
(2)、解题思路:略
(3)、可能出错:鸡蛋的度量单位是只!不是克!
 
       
posted on 2012-05-02 22:08  谷堆旁边  阅读(583)  评论(0)    收藏  举报