GESP2026年6月认证C++一级( 第三部分编程题(2、交税))精讲

发布时间:2026/7/7 17:53:40
GESP2026年6月认证C++一级( 第三部分编程题(2、交税))精讲 本题考察了同学们的循环、判断、浮点数、累加统计等多个知识点是一级编程题中比较有代表性的一道综合题。题目要求根据每个月的劳务报酬计算全年应预交个税总额也很有实践意义。第三部分 编程题第二题《税务小助手——帮小杨计算全年预交个税》第一幕故事开始1、小杨长大以后成为了一名小小设计师。每个月都会接一些画画、设计 Logo、制作动画的小工作。一年下来每个月收入都不一样一月932.0 元 二月1634.3 元 三月378.1 元 ……2、年底时税务机器人说现在请计算这一年应该预交多少个人所得税于是小杨请我们来帮忙。第二幕先理解交税规则很多同学一看到税就害怕。其实规则特别简单题目只有两条规定第一条规则如果一个月收入≤800 元那么不用交税例如500 元 700 元 800 元全部都是税 0第二条规则如果收入800 元那么只有超过800元的部分才交税税率20%也就是0.2第三幕举几个例子第一位小朋友收入600 元有没有超过800没有。所以税 0第二位收入900 元先减去800剩下100交税100 ×0.2 20 元第三个收入1500 元超过1500-800 700税700×0.2 140 元是不是一点都不难第四幕电脑应该怎样思考1、汉克老师经常告诉同学们写程序之前不要急着敲代码。2、先想一下如何让电脑思考。电脑是不是这样想开始↓准备一个总税额 ans0↓重复12次↓输入本月收入↓判断是否超过800↓如果≤800税0否则(月收入-800) × 0.2↓加入总税额。↓继续下个月。↓最后输出。是不是清楚了第五幕为什么要循环12次1、一年有12个月2、我们不用写cina; cinb; cinc; ...3、而是使用循环for(int i1;i12;i)这样电脑就会第一月 第二月 …… 第十二月自动完成。第六幕变量应该怎么设计1、只需要两个变量。2、第一个变量double a;1表示本月收入。2为什么不用int因为题目告诉我们932.0 1634.3都是小数。3所以必须double3、第二个变量double ans0;1表示全年税款。2因为每个月都会加一点。最后得到全年总税。第七幕判断过程1、如果a800那么什么也不用加。可以写ans0;当然其实也可以什么都不写。2、否则ans(a-800)*0.2;注意只有超过800那一部分交税。不是整个收入都乘0.2这是最容易做错的地方。第八幕参考程序#include iostream #include cstdio using namespace std; int main() { double ans 0.0; for (int i 0; i 12; i) { double a; cin a; if (a 800.0) { ans 0.0; } else { ans (a - 800.0) * 0.2; } } printf(%.2f\n, ans); return 0; }第九幕格式化输出1、题目要求保留两位小数例如2584.756应该输出2584.762、所以程序中使用printf(%.2f,ans);这里%表示格式输出。.2表示保留两位小数。f表示浮点数float 或 double。3、如果用 cout 呢当然也可以#include iomanip coutfixedsetprecision(2)ans;第十幕这道题容易错的地方有的同学考试中会犯下面几个错误。错误一全部收入都交税写成ansa*0.2;例如900 元错误900×0.2 180正确(900-800) × 0.2 20差很多。错误二忘记循环只读了cina;那么只能算一个月。一年有12个月。必须循环。错误三用了int如果int a;输入932.5会变成932小数没了。所以必须double错误四忘记初始化如果double ans;没有0最后答案就是随机值。一定要double ans0;第十一幕程序设计思维这道题虽然只有一级难度但它把许多基础知识串联起来了。第一步重复处理一年12个月所以想到for第二步分类讨论收入≤800一种情况。收入800另一种情况。所以想到if第三步不断累计每个月税款不断加入全年税款所以想到ans……第四步格式输出最后保留两位小数输出。本题知识总结知识点是否考查说明for循环⭐⭐⭐⭐⭐重复处理12个月数据if...else判断⭐⭐⭐⭐⭐判断是否超过800元double浮点数⭐⭐⭐⭐⭐收入带有一位小数累加思想⭐⭐⭐⭐⭐用ans ...统计全年税额数学计算⭐⭐⭐⭐(收入-800)×0.2格式化输出⭐⭐⭐⭐printf(%.2f, ans)保留两位小数初始化变量⭐⭐⭐⭐double ans 0.0; 汉克老师送给小程序员的一句话这道题考察大家的不只是“会不会算税”而是循环处理一批数据 分类判断 累加统计的程序设计思想。