信息学奥赛一本通(C++版)1398:短信计费
【题目描述】
用手机发短信,一条短信资费为0.1元,但限定一条短信的内容在70个字以内(包括70个字)。如果你一次所发送的短信超过了70个字,则会按照每70个字一条短信的限制把它分割成多条短信发送。假设已经知道你当月所发送的短信的字数,试统计一下你当月短信的总资费。
【输入】
第一行是整数n,表示当月发送短信的总次数,接着n行每行一个整数,表示每次短信的字数。
【输出】
输出一行,当月短信总资费,单位为元,精确到小数点后1位。
【输入样例】
10
39
49
42
61
44
147
42
72
35
46 【输出样例】
1.3 【思路】
设置一个ans记录总费用,main函数输入n,循环n次,输入每条短信的长度x。设置一个dx函数计算单条短信的价格,将x传至dx函数,如果x能被70整除,如70,140等,那么费用就是x/70。如果x不能被70整除,比若干个70多的部分按一条短信算,费用为1。其余部分是能被70整除的,费用为a/70。所以总费用就是x/70+1。每次循环输入输入x后,ans加上dx(x)的返回值。最终输出ans,就是本月短信的总费用。
【代码】
#include
using namespace std;
float n,ans,x;int dx(int a){if (a%70==0)return x/70;if (a%70!=0)return x/70+1;
}int main(){cin>>n;for (int i=1;i<=n;i++){cin>>x;ans+=dx(x);}printf("%.1f",ans/10.0);return 0;}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
