poj 1929 Calories from Fat 模拟水题
2015-11-19 16:02
549 查看
//poj 1929 //sep9 #include <iostream> using namespace std; double tot,fat; char s[5][128]; void get_value(int i,double &v,int &tag) { int p=0; v=0; while(s[i][p]<='9'&&s[i][p]>='0') v=10*v+s[i][p]-'0',++p; if(s[i][p]=='g') tag=0; else if(s[i][p]=='C') tag=1; else tag=2; } void insert() { double tmp_tot=0,tmp_fat=0; double percent=0,weight=0; double v,v1; int tag,tag1; for(int i=0;i<5;++i){ get_value(i,v,tag); if(i==0) v1=v,tag1=tag; if(tag==0){ if(i==0) weight+=v*9; else if(i==4) weight+=v*7; else weight+=v*4; }else if(tag==1) weight+=v; else percent+=v; } tmp_tot=weight/(1-percent/100); if(tag1==0) tmp_fat=v1*9; else if(tag1==1) tmp_fat=v1; else tmp_fat=tmp_tot*(v1/100); tot+=tmp_tot,fat+=tmp_fat; } int main() { tot=0,fat=0; int flag=0; while(1){ scanf("%s",s[0]); if(s[0][0]=='-'){ if(flag==0){ printf("%.0lf%%\n",fat*100/tot); tot=0,fat=0,flag=1; }else break; }else{ flag=0; for(int i=1;i<5;++i) scanf("%s",s[i]); insert(); } } return 0; }
相关文章推荐
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法
- 基于C++实现的各种内部排序算法汇总
- C++线性时间的排序算法分析
- C++实现汉诺塔算法经典实例
- PHP实现克鲁斯卡尔算法实例解析
- C#获取关键字附近文字算法实例