C++的小数计算
1. 多边形内角和
题目描述
根据多边形内角和定理,正多边形内角和等于:(n - 2)×180°(n大于等于3且n为整数)
(如下图所示是三角形、四边形、五边形、六边形的形状)请根据正多边形的边数,计算该正
多边形每个内角的度数。(结果保留1位小数)
输入
正多边形的边数n(n>=3 且 n <= 10)
输出
该正n边形每个内角的度数。
样例
输入复制
3
输出复制
60.0
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n;
cin>>n;
double angle=(n-2)*180.0/n;
cout<<fixed<<setprecision(1)<<angle<<endl;
#
return 0;
}
2.求圆的周长和面积
题目描述
已知一个圆的半径,求解该圆的面积和周长
输入
输入只有一行,只有1个整数。
输出
输出只有两行,一行面积,一行周长。(保留两位小数)。
令pi=3.1415926
样例
输入复制
1
输出复制
3.14
6.28
圆的面积和周长求解公式分别如下;
圆的面积S = π * 半径 * 半径;(π读作pài,π = 3.1415926…,在具体的题目中π的值精确到小数点后多少位,取决于具体的题目)圆的周长C = π * 2 * 半径;
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
const double pi=3.1415926;
int r;
cin>>r;
double area=pi*r*r;
double circumference=2*pi*r;
cout<<fixed<<setprecision(2)<<area<<endl;
cout<<fixed<<setprecision(2)<<circumference<<endl;
return 0;
}
3.计算梯形面积
题目描述
梯形面积的求解公式为S =(a + b)*h/2。
从键盘读入一个梯形的上底a、下底b和高h,请计算
表梯形的面积。(结果保留1位小数)
输入
三个整数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;
double area=(a+b)*h/2.0;
cout<<fixed<<setprecision(1)<<area<<endl;
return 0;
}
4.圆环面积
题目描述
如下图所示的圆环铁片,中间是空心的,已知圆环外圆的半径是r1厘米(如:10cm),
内圆半径是r2厘米(如:6cm),请编程计算该铁片的面积。(外圆面积 – 内圆面积,假设π=3.14,结果保留2位小数)
输入
2个整数r1、r2,分别代表外圆和内圆
的半径。
输出
铁片的面积。
样例
输入复制
10 6
输出复制
200.96
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int r1,r2;
cin>>r1>>r2;
const double pi=3.14;
double area=pi*r1*r1-pi*r2*r2;
cout<<fixed<<setprecision(2)<<area<<endl;
return 0;
}
5.求花坛的面积
题目描述
龙湖校区有一个圆形花坛,量得花坛周围的篱笆长是x米,请问该花坛的面积是多少平方米?(假设π=3.14)(5.2.99)
输入
一个小数x
输出
花坛的面积(结果保留2位小数)
样例
输入复制
18.84
输出复制
28.26
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double x;
cin>>x;
const double pi=3.14;
double radius=x/(2*pi);
double area=pi*radius*radius;
cout<<fixed<<setprecision(2)<<area<<endl;
return 0;
}
6.冷饮的价格?
题目描述
暑假来了,天气特别热,花花到冷饮店来买冷饮;已知雪糕2.5元/支,碎碎冰1.5
元/支,花花买了 x支雪糕和y支碎碎冰,老板说今天有优惠,可以有1支雪糕免费,
请问花花应该付给老板多少钱?
输入
两个整数x和y,分别代表了雪糕和碎
碎冰的购买数量。
输出
一个小数,代表了花花应付给老板的
金额(结果保留1位小数)。
样例
输入复制
72
输出复制
3.5
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int x,y;
cin>>x>>y;
double total=2.5*x+1.5*y-2.5;
cout<<fixed<<setprecision(1)<<total<<endl;
return 0;
}
7.小明买水果
题目描述
小明去超市买了若干斤水果,你能根据水果的单价,小明买的水果数量,编一个
程序计算出总金额,并打印出清单
输入
两行第一行商品的单价,是一个小数第二行商品的数量,
是一个整数
输出
一行,商品的单价,数量,及金额,中间用空格隔开。
单价保留两位小数,总金额去掉小数。数量为整数
**样例
输入复制
3.55
3
输出复制
3.55 3 10
#include<iostream>
using namespace std;
int main()
{
double 单价;
int 数量;
cin>>单价>>数量;
int 金额=单价*数量;
cout<<金额<<endl;
return 0;
}
8.求三个数的平均数
题目描述
小雅刚刚考完语文、数学、英语的三门期中考试,她想请你编个程序来帮她算算她的平均分,
要求输入三个正整数,分别表示三科考试的分数,输出它们的平均值。
输入
一行,包括三个正整数,两两之间用一个空格分隔。
输出
一个数,表示输入的三个数的平均值。【注意:结果请
保留3位小数】
样例
输入复制
75 88 99
输出复制
87.333
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
double average = (a + b + c) / 3.0;
cout << fixed << setprecision(3) << average << endl;
return 0;
}
9.总分和平均分
题目描述
期末考试成绩出来了,小明同学语文、数学、英语分别考了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 score1, score2, score3;
cin >> score1 >> score2 >> score3;
int total = score1 + score2 + score3;
double average = total / 3.0;
cout << "总分: " << total << ", 平均分: " << fixed << setprecision(2) << average << endl;
return 0;
}
10.文具店的折扣
题目描述
花花去文具店买了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 x, y, z;
cin >> x >> y >> z;
int total = x + y + z;
double average = total / 3.0;
cout << total << endl;
cout << fixed << setprecision(1) << average << endl;
return 0;
}
11.挖胡萝卜
题目描述
小兔朱迪挖了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 nick=3*x;
int 肖恩=nick-8;
double average=(x+nick+肖恩)/3.0;
cout<<nick<<endl;
cout<<肖恩<<endl;
cout<<fixed<<setprecision(1)<<average<<endl;
return 0;
}
12.成绩(score)
题目描述
牛牛最近学习了C++入门课程,这门课程的总成绩计算方法是:
总成绩=作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%
牛牛想知道,这门课程自己最终能得到多少分。
输入
三个非负整数A、B、C,分别表示牛牛的作业成
绩、小测成绩和期末考试成绩。相邻两个数之间
用一个空格隔开,三项成绩满分都是100分
输出
一个整数,即牛牛这门课程的总成绩,满分也是
100分。
样例
输入复制
100 100 80
输出复制
90
#include <iostream>
using namespace std;
int main() {
int A, B, C;
cin >> A >> B >> C;
int total = A * 0.2 + B * 0.3 + C * 0.5;
cout << total << endl;
return 0;
}
13.玫瑰花圃
有一块n×n(n≥5,且n是奇数)的红玫瑰花圃,由 n×n 个小正方形花圃组成,现要求在花圃中
最中间的一行、最中间的一列以及 4 个顶点处种植粉色玫瑰,请问粉玫瑰占地面积占整个玫瑰花
圃总面积的百分比是多少?
输入
一个整数 n (5≤n≤99,且n是奇
数)
输出
粉玫瑰占总玫瑰园的百分比,结果
保留 1 位小数,显示为百分比的形
式。
样例
输入复制
5
输出复制
52.0 %
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n;
int pink = 2 * n + 3;
int total = n * n;
double percentage = (pink * 100.0) / total;
cout << fixed << setprecision(1) << percentage << "%" << endl;
return 0;
}
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)