C++洛谷题解(6)

题号:P5706
题名:再分肥宅水
题目:现在有 t 毫升肥宅快乐水,要均分给 n 名同学。每名同学需要 2 个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后 3 位),以及一共需要多少个杯子。输入一个实数 t 和一个整数 n,使用空格隔开。输出两个数字表示答案,使用换行隔开。
说明:0≤t≤10000且不超过3位小数,1\leq n\leq 10001≤n≤1000

这道题在难度上并不大,但这道题需要引入一个新的库--------iomanip。
这个库不用太多说,只说最重要的两个函数,setprecision和fixed。这两个都是iomanip里面的函数,主要用来精准到几位小数,具体使用格式如下(最常用的一种写法):

cout<<fixed<<setprecision(2)<<a<<endl;

setprecision()括号里面的数字是你要精准到几位小数的位数。后面的那个a是你的变量,最好用double类型储存。
知道上面的内容之后再来看这道题就相对简单了,直接上AC 代码:

#include<bits/stdc++.h>//万能头文件
using namespace std;
int main(){
	double t;//声明一个浮点型变量t,也可以说是小数或者实数
	int n;
	cin>>t>>n;//输入
	t=t/n;//运算
	n=n*2;//运算,too
	cout<<fixed<<setprecision(3)<<t<<endl;//上面刚刚说的保留小数位数
	cout<<n;//输出另外一个变量
    return 0;
}

在这里还提供一个比上面简单的方法保留小数,用printf,具体代码如下:

#include<bits/stdc++.h>//因为这是C语言的函数,所以用了万能头
using namespace std;
int main(){
	double t;
	int n;
	scanf("%lf%d",t,n);//C语言的输入
	printf("%.3lf",t/n);//C语言的输出,保留小数就是 %.位数lf
	printf("%d\n",n);//C语言的输出
	return 0;
}

上面的代码是C语言,在保留小数这里C语言比C++语言方便多了。

Good bye!

posted @ 2022-07-19 19:47  GitTJBKBeta  阅读(319)  评论(0)    收藏  举报