洛谷-入门2-分支结构3

洛谷-入门2-分支结构3 P1422 小玉家的电费题目描述夏天到了各家各户的用电量都增加了许多相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写据闽价电 [2006]27 号规定月用电量在 150 千瓦时及以下部分按每千瓦时 0.4463 元执行月用电量在 151∼400 千瓦时的部分按每千瓦时 0.4663 元执行月用电量在 401 千瓦时及以上部分按每千瓦时 0.5663 元执行。小玉想自己验证一下电费通知单上应交电费的数目到底是否正确呢。请编写一个程序已知用电总计根据电价规定计算出应交的电费应该是多少。输入格式输入一个正整数表示用电总计单位以千瓦时计不超过 10000。输出格式输出一个数保留到小数点后 1 位单位以元计保留到小数点后 1 位。输入输出样例输入 #1复制267输出 #1复制121.5实现代码#includebits/stdc.h using namespace std; void solve(){ int x; cinx; double y; if(x150){ yx*0.4463; } else if(x400){ y150*0.4463(x-150)*0.4663; } else{ y150*0.4463(400-150)*0.4663(x-400)* 0.5663; } printf(%.1lf,y); } int main(){ int T1; while(T--){ solve(); } return 0; }P1424 小鱼的航程改进版题目描述有一只小鱼它平日每天游泳 250 公里周末休息实行双休日)假设从周 x 开始算起过了 n 天以后小鱼一共累计游泳了多少公里呢输入格式输入两个正整数 x,n表示从周 x 算起经过 n 天。输出格式输出一个整数表示小鱼累计游泳了多少公里。输入输出样例输入 #1复制3 10输出 #1复制2000说明/提示数据保证1≤x≤71≤n≤106。实现代码#includebits/stdc.h using namespace std; void solve(){ int x,n,sum0; cinxn; for(int i0;in;i){ int t(xi)%7; if(t!6t!0){ sum250; } } coutsum; } int main(){ int T1; while(T--){ solve(); } return 0; }P1888 三角函数题目描述输入一组勾股数 a,b,cabc用分数格式输出其较小锐角的正弦值。要求约分。输入格式一行包含三个正整数即勾股数 a,b,c无大小顺序。输出格式一行包含一个分数即较小锐角的正弦值。输入输出样例输入 #1复制3 5 4输出 #1复制3/5说明/提示数据保证a,b,c 为正整数且 ∈[1,109]。实现代码#includebits/stdc.h using namespace std; void solve(){ int a[10],x,y,z; for(int i1;i3;i){ cina[i]; } sort(a1,a4); xa[1]; ya[3]; zx%y; while(z!0){ xy; yz; zx%y; } couta[1]/y/a[3]/y; } int main(){ int T1; while(T--){ solve(); } return 0; }P1046 [NOIP 2005 普及组] 陶陶摘苹果题目描述陶陶家的院子里有一棵苹果树每到秋天树上就会结出 10 个苹果。苹果成熟的时候陶陶就会跑去摘苹果。陶陶有个 30 厘米高的板凳当她不能直接用手摘到苹果的时候就会踩到板凳上再试试。现在已知 10 个苹果到地面的高度以及陶陶把手伸直的时候能够达到的最大高度请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果苹果就会掉下来。输入格式输入包括两行数据。第一行包含 10 个 100 到 200 之间包括 100 和 200的整数以厘米为单位分别表示 10 个苹果到地面的高度两个相邻的整数之间用一个空格隔开。第二行只包括一个 100 到 120 之间包含 100 和 120的整数以厘米为单位表示陶陶把手伸直的时候能够达到的最大高度。输出格式输出包括一行这一行只包含一个整数表示陶陶能够摘到的苹果的数目。输入输出样例输入 #1复制100 200 150 140 129 134 167 198 200 111 110输出 #1复制5说明/提示【题目来源】NOIP 2005 普及组第一题实现代码#includebits/stdc.h using namespace std; void solve(){ int a[20]; for(int i1;i10;i){ cina[i]; } int x,sum0; cinx; for(int i1;i10;i){ if(x30a[i]){ sum; } } coutsumendl; } int main(){ int T1; while(T--){ solve(); } return 0; }P4414 [COCI 2006/2007 #2] ABC题目描述三个整数分别为 A,B,C。这三个数字不会按照这样的顺序给你但它们始终满足条件ABC。为了看起来更加简洁明了我们希望你可以按照给定的顺序重新排列它们。输入格式第一行包含三个正整数 A,B,C不一定是按这个顺序。这三个数字都小于或等于 100。第二行包含三个大写字母 A、B 和 C它们之间没有空格表示所需的顺序。输出格式在一行中输出 AB 和 C用一个 空格隔开。感谢 smartzzh 提供的翻译显示翻译题意翻译输入输出样例输入 #1复制1 5 3 ABC输出 #1复制1 3 5输入 #2复制6 4 2 CAB输出 #2复制6 2 4说明/提示注意此题数据的换行符为\r\n。实现代码#includebits/stdc.h using namespace std; void solve(){ int a[10]; for(int i1;i3;i){ cina[i]; } string s; cins; sort(a1,a4); for(int i0;is.size();i){ if(s[i]A){ couta[1] ; } else if(s[i]B){ couta[2] ; } else{ couta[3] ; } } } int main(){ int T1; while(T--){ solve(); } return 0; }P1055 [NOIP 2008 普及组] ISBN 号码题目描述每一本正式出版的图书都有一个 ISBN 号码与之对应ISBN 码包括 9 位数字、1 位识别码和 3 位分隔符其规定格式如x-xxx-xxxxx-x其中符号-就是分隔符键盘上的减号最后一位是识别码例如0-670-82162-4就是一个标准的 ISBN 码。ISBN 码的首位数字表示书籍的出版语言例如 0 代表英语第一个分隔符-之后的三位数字代表出版社例如 670 代表维京出版社第二个分隔符后的五位数字代表该书在该出版社的编号最后一位为识别码。识别码的计算方法如下首位数字乘以 1 加上次位数字乘以 2 ……以此类推用所得的结果 mod11所得的余数即为识别码如果余数为 10则识别码为大写字母 X。例如 ISBN 号码0-670-82162-4中的识别码 4 是这样得到的对067082162这 9 个数字从左至右分别乘以 1,2,…,9 再求和即 0×16×2……2×9158然后取 158mod11 的结果 4 作为识别码。你的任务是编写程序判断输入的 ISBN 号码中识别码是否正确如果正确则仅输出Right如果错误则输出你认为是正确的 ISBN 号码。输入格式一个字符序列表示一本书的 ISBN 号码保证输入符合 ISBN 号码的格式要求。输出格式一行假如输入的 ISBN 号码的识别码正确那么输出Right否则按照规定的格式输出正确的 ISBN 号码包括分隔符-。输入输出样例输入 #1复制0-670-82162-4输出 #1复制Right输入 #2复制0-670-82162-0输出 #2复制0-670-82162-4说明/提示2008 普及组第一题实现代码#includebits/stdc.h using namespace std; void solve(){ string s; int sum0,cnt1; cins; int lens.length()-1; for(int i0;ilen;i){ if(s[i]!-){ sum(sumint(s[i]-0)*cnt); cnt; } } sumsum%11; if(sum!10){ if(sumint(s[len]-0)){ coutRight; } else{ for(int i0;ilen;i){ couts[i]; } coutsum; } } else{ if(s[len]X){ coutRight; } else{ for(int i0;ilen;i){ couts[i]; } coutX; } } } int main(){ int T1; while(T--){ solve(); } return 0; }