【问题描述】
用手机发短信,一般在不同运营商之间,一条短信资费为0.1元,但限定每条短信的内容在70个字以内(包括70个字)。如果你所发送的一条短信超过了70个字,则大多数手机 会按照每70个字一条短信的限制把它分割成多条短信发送。假设已经知道你当月所发送的每条短信的字数,试统计一下你当月短信的总费用。
【输入格式】message.in
第一行是一个不超过500的正整数n,表示当月短信总条数。
第2~N+1行每行一个整数,表示各条短信的字数(短信字数不超过400个)。
【输出格式】message.out
当月短信总资费,单位为元,精确到小数点后1位。
【样例输入】
10
39
49
42
61
44
147
42
72
35
46
【样例输出】
1.3
分析:题目很简单,好像是某一年的市赛题。注意要单独判断读入为0的情况。还有就是在C++中,输出的小数后面要加上一个很小的数,如1e-9.
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,x,y;
double s=0;
cin>>n;
for(i=1;i<=n;++i)
{
cin>>x;
if(x<=70&&x>0) s+=0.1;else
{
y=x;
while(y>0)
{
s+=0.1;
y=y-70;
}
}
}
printf("%.1f",s+1e-9);
}