知识点day5:
C#中的floor函数(向下取最小整数如2.2,结果取2)
ceil函数(向上取最小整数如1.1,结果取2)
round函数(四舍五入)
使用:头文件#include<cmath>
double i = floor(2.2);//对应输出为2.000000;
int i = floor(2.2);//对应输出为2,将double类型强行转换成int类型;
double i = ceil(2.2);//对应输出为3.000000;
int i = ceil(2.7);//对应输出为3;
double i = round(2.1);//对应输出为2;
double j = round(2.8);//对应输出为3;
题目:计算邮资
【题目描述】
根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。
【输入】
输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。
【输出】
输出一行,包含一个整数,表示邮费。
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 65355 通过数: 31567
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double n;
char c;
cin>>n>>c;
double r;
if(n<=1000)
{
r=8;
}
else if(n>1000)
{
r=8+ceil((n-1000)/500)*4; //使用函数为ceil(x);
}
if(c=='y')
{
cout<<r+5;
}
if(c=='n')
{
cout<<r;
}
return 0;
}