c++小数运算

这篇文章展示了多个使用C++编程解决的数学问题,包括温度转换、几何图形面积计算、分数计算等,涵盖了从基础算术到几何图形的不同难度题目,旨在锻炼编程和逻辑思维能力。
摘要由CSDN通过智能技术生成

需要加载头文件

#include<iomanip>

保留小数位数

cout<<fixed<<setprecision(3)<<a<<" ";

cout<<fixed<<setprecision(2)<<b;

## 1031 - 温度转换

> 题目描述
> 编一程序,将摄氏温度换为华氏温度。公式为:f=9/5*c+32。其中f为华氏温度,c是摄氏温度。(5.2.12)

>输入
>输入一行,只有一个整数c
>输出
>输出只有一行,包括1个实数。(保留两位小数)

>样例
>输入复制
>50
>输出复制
>122.00

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	float f, c;
	cin >> c;
	f = 9.0 / 5.0 * c + 32;
	cout << fixed << setprecision(2) << f << endl;
	return 0;
}

## 1345 - 玫瑰花圃

>有一块n×n(n≥5n≥5,且n是奇数)的红玫瑰花圃,由 n×n 个小正方形花圃组成,现要求在花圃中最中间的一行、最中间的一列以及 4 个顶点处种植粉色玫瑰,请问粉玫瑰占地面积占整个玫瑰花圃总面积的百分比是多少?(6.2.72)

如 n=5,花圃形状如下,粉玫瑰占地百分比 %=13/25=52.0%

![image-20221113002959243](img/image-20221113002959243.png)

如 n=7,花圃形状为如下,粉玫瑰占地百分比17/49=34.7%

![image-20221113003006531](img/image-20221113003006531.png)

>输入
>一个整数 nn ( 5≤n≤995≤n≤99,且n是奇数)
>输出
>粉玫瑰占总玫瑰园的百分比,结果保留 11 位小数,显示为百分比的形式。

>样例
>输入复制
>5
>输出复制
>52.0%

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	//边长
	int n;
	cin >> n;
	//粉色块
	int f = n + n - 1 + 4;
	//总块数
	int z = n * n;

	float b = 1.0 * f / z * 100;
	cout <<fixed<<setprecision(1)<< b<<"%";

	return 0;
}

1565 - 成绩(score)

题目描述 牛牛最近学习了C++入门课程,这门课程的总成绩计算方法是: 总成绩=作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50% 牛牛想知道,这门课程自己最终能得到多少分。

输入 三个非负整数A、B、C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是100分。 输出 一个整数,即牛牛这门课程的总成绩,满分也是100分。

样例 输入复制 100 100 80 输出复制 90

说明 输入样例#1: 100 100 80 输出样例#1: 90 输入样例#2: 60 90 80 输出样例#2: 79 【输入输出样例1说明】 牛牛的作业成绩是100分,小测成绩是100分,期末考试成绩是80分,总成绩是 100×20%+100×30%+80×50%=20+30+40=90 【输入输出样例2说明】 牛牛的作业成绩是60分,小测成绩是90分,期末考试成绩是80分,总成绩是 60×20%+90×30%+80×50%=79。 【数据说明】 对于30%数据,A=B=0。 对于另外30%的数据,A=B=100。 对于100%的数据,0≤A,B,C≤100且A、B、C都是10的整数倍。

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	//总成绩=作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%
	float a, b, c;
	cin >> a >> b >> c;

	float z = 1.0 * a * 20 / 100 + 1.0 * b * 30 / 100 + 1.0 * c * 50 / 100;
	cout << fixed << setprecision(2) << z;

	return 0;
}

## 1338 - 求圆环的面积

>题目描述
>如下图所示的圆环铁片,中间是空心的,已知圆环外圆的半径是r1厘米(如:10cm),内圆半径是r2厘米(如:6cm),请编程计算该铁片的面积。(外圆面积 – 内圆面积,假设π=3.14,结果保留2位小数)

(5.2.99)

>输入
>2个整数r1、r2,分别代表外圆和内圆的半径。
>输出
>铁片的面积。

>样例
>输入复制
>10 6
>输出复制
>200.96

>说明
>圆的面积和周长求解公式分别如下;
>圆的面积S = π * 半径 * 半径;(π读作pài,π = 3.1415926…,在具体的题目中π的值精确到小数点后多少位,取决于具体的题目)
>圆的周长C = π * 2 * 半径;

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	float r1, r2;
	cin >> r1 >> r2;
	float pi = 3.14;

	float s1 = pi * r1 * r1 - pi * r2 * r2;
	cout <<fixed<<setprecision(2)<<s1<< endl;
	return 0;
}

## 1337 - 求花坛的面积

>题目描述
>龙湖校区有一个圆形花坛,量得花坛周围的篱笆长是x米,请问该花坛的面积是多少平方米?(假设π=3.14)(5.2.99)

>输入
>一个小数x
>输出
>花坛的面积(结果保留2位小数)

>样例
>输入复制
>18.84
>输出复制
>28.26

>说明
>圆的面积和周长求解公式分别如下;
>圆的面积S = π * 半径 * 半径;(π读作pài,π = 3.1415926…,在具体的题目中π的值精确到小数点后多少位,取决于具体的题目)
>圆的周长C = π * 2 * 半径;

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	
	//半径 = 周长/pi/2;
	float c;
	cin >> c;
	float r = c / 3.14 / 2;
	float s = 3.14 * r * r;
	cout << fixed << setprecision(2) << s;
	

	return 0;
}

## 1329 - 求梯形的面积

> 题目描述
> 梯形面积的求解公式为 S = (a + b) * h / 2。从键盘读入一个梯形的上底a、下底b和高h,请计算表梯形的面积。(结果保留1位小数)(5.1.15

>输入
>三个整数a、b、h
>输出
>梯形的面积

>样例
>输入复制
>2 3 5
>输出复制
>12.5

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a, b, h;
	cin >> a >> b >> h;
	float s = 1.0 * (a + b) * h / 2;
	cout << fixed << setprecision(1) << s << endl;


	return 0;
}

## 1601 - 挖胡萝卜

>题目描述
>小兔朱迪挖了x个胡萝卜,狐狸尼克挖到胡萝卜数量是小兔挖到的3倍,小羊肖恩挖到胡萝卜的数量比狐狸尼克少8个;
>请你编程计算一下狐狸尼克和小羊肖恩分别挖了几个胡萝卜,以及平均每个动物挖了几个胡萝卜?

>输入
>一个整数x代表小兔挖走的胡萝卜的数量。
>输出
>三个数,每行1个,第1个整数代表狐狸尼克挖走的胡萝卜的数量,第2个整数代表小羊肖恩挖走的胡萝卜的数量,第3个数是小数代表平均每个动物挖走了几个胡萝卜(结果保留1位小数)。

>样例
>输入复制
>10
>输出复制
>30
>22
>20.7

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int x;
	cin >> x;
	int h = 3 * x;
	int y = h - 8;
	float avg = 1.0 * (x + h + y) / 3;

	return 0;
}

## 1598 - 文具店的折扣

题目描述
花花去文具店买了1支笔和1块橡皮,已知笔x元/支,橡皮y元/块,文具店今天有活动,可以给顾客打9折(用购买总价 * 0.9),花花付给了老板n元,请问老板应该找给花花多少钱?

>输入
>三个整数x、y、n,分别代表了笔的单价、橡皮的单价和花花付给老板的钱(已知花花付给老板的钱n>=x+y)
>输出
>一个小数(保留1位小数),代表老板应该找给花花的钱

>样例
>输入复制
>2 1 5
>输出复制
>2.3

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int n, x, y;
	cin >> n >> x >> y;
	float s = n - (x + y) * 0.9;
	cout << fixed << setprecision(1) << s;

	return 0;
}

## 1602 - 总分和平均分

>题目描述
>期末考试成绩出来了,小明同学语文、数学、英语分别考了x、y、z分,请编程帮助小明计算一下,他的总分和平均分分别考了多少分?

>输入
>三个整数x、y、z分别代表小明三科考试的成绩。

>输出
>第1行有一个整数,代表总分,第2行有一个小数(保留1位小数)代表平均分。

>样例
>输入复制
>100 95 91
>输出复制
>286
>95.3

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int x, y, z;
	cin >> x >> y >> z;
	float s = x + y + z;
	float avg = 1.0 * s / 3;
	cout << fixed << setprecision(0) << s <<endl;
	cout << fixed << setprecision(1) << avg;


	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值