今天来让我们来继续分析信息学奥赛一本通的第十三道题道题,也就是按照题目的要求求出小明买完图书还剩多少钱。(并且,看了我的文章的人只有少数人点了赞,如果你觉得我写的好,或对你有帮助的话,请点赞!!!并收藏。谢谢!)
目录
【题目描述及其目的】
【题目描述】
【输入】
【输出】
【输入样例】
【输出样例】
【解题思路】
【源代码】
【PLAN A】
【PLAN B】
【重要!!!】
【题目描述及其目的】
2066:【例2.3】买图书
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 26742 通过数: 15411
【题目描述】
已知小明有n元,他买了一本书,这本书原价为m元,现在打8折出售。求小明还剩多少钱(保留2位小数)。
【输入】
输入n,m。
【输出】
小明还剩多少钱(保留2位小数)。
【输入样例】
【输出样例】
【解题思路】
【解题思路】
这道题其实比较简单,考察的其实是保留小数的语句,以及小数要用浮点型变量单精度的float或者浮点型变量双精度的double,以及包含了计算,思路是先要定义输入小明手里有多少钱,钱数有了,需要定义输入书的原价,定义好之后,因为书打了8折,8折 = 80% = 0.8,所以书的原价也就是你定义输入的那个值要 × 0.8 在赋值给第三个值,再用手里的钱减去第三个值,就是需要的钱数。还有如果想要保留两位小数的话,可以cout.setf(ios::fixed);cout.precision(2);这样写,也可以printf(“%.2lf”,d);也是可以的。
【源代码】
【PLAN A】
#include
using namespace std ;
int main()
{
int n, m;
double c;
cin >> n >> m;
c = n - m * 0.8;
cout.setf(ios::fixed);
cout.precision(2);
cout << c;
return 0;
}
#includeusing namespace std ; int main() { int n, m; double c; cin >> n >> m; c = n - m * 0.8; cout.setf(ios::fixed); cout.precision(2); cout << c; return 0; }
【PLAN B】
#include
#include
using namespace std;
int main()
{
double n = 0, m = 0 , c = 0, d = 0;
cin >> n >> m;
c = m * 0.8;
d = n - c;
printf("%.2lf",d);
return 0;
}
【重要!!!】
我在思考,为什么有这么多拿了东西的人,却不付钱。有这麽多看了文章的人,却不点赞呢?



