第一次作业代码小总结

一、分支结构 7-8 计算个人所得税

1.实验代码

 1 #include <stdio.h>
 2 int main()
 3 {
 4     double a,b,c;
 5     scanf("%lf",&a);
 6     if(a<=1600)
 7     {
 8         c=0;
 9         goto aaa;
10     }
11     else if(a>1600&&a<=2500)
12     b=0.05;
13     else if(a>2500&&a<=3500)
14     b=0.1;
15     else if(a>3500&&a<=4500)
16     b=0.15;
17     else
18     b=0.2;
19     c=b*(a-1600);
20 aaa:
21     printf("%.2f",c);
22     return 0;
23 }

2.设计思路

(1)定义三个双浮点型变量:a(工资)、b(税率)、c(个人所得税);

(2)输入非负工资(a);

(3)判断工资是否不大于1600(a<=1600?),若不大于,则个人所得税为0(c=0),跳过其余判断(goto aaa),若大于则进行剩余判断;

(4)判断工资是否处于大于1600,不大于2500的区间(a>1600&&a<=2500?),若是,则个人所得税为5%(b=0.05),若不是则进行剩余判断;

(5)判断工资是否处于大于2500,不大于3500的区间(a>2500&&a<=3500?),若是,则个人所得税为5=10%(b=0.1),若不是则进行剩余判断;

(6)判断工资是否处于大于3500,不大于4500的区间(a>3500&&a<=4500?),若是,则个人所得税为15%(b=0.15),若不是则剩余情况下,税率均为20%(else b=0.2);

(7)根据公式:个人所得税=税率×(工资−1600)(c=a*(b-1600)),计算个人所得税;

(8)输出c(个人所得税)的值(printf("%.2f",c));

3.本题调试过程碰到的问题及解决方法

(1)问题一:大于xxx,但不大于xxx的编程语句为(xxx<a<=xxx),系统判断错误;

    解决方法:改为(a>xxx&&a<=xxx);

(2)问题二:输出时未精确至两位小数点(printf("%f",c));

    解决方法:改为printf("%.2f",c);

 

二、循环1 7-4 求奇数和

1.实验代码

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int b=0,c=0;
 6     int qa[10000];
 7     for(int m=0;m>=0;m++)
 8     {
 9         cin>>qa[m];
10         if(qa[m]<=0)
11         break;
12     }
13     int *p=qa;
14     for(int n=0;n<10000;n++)
15     {
16         if(*(p+n)<=0)
17         break;
18         if(*(p+n)%2!=0)
19         {
20             b=*(p+n);
21             c+=b;
22         }
23     }
24     cout<<c;
25     return 0;
26 }

2.设计思路

(1)定义一个数组(qa[10000]);

(2)运用for循环输入数组,当输入值为非正数的时候,打破循环;

(3)运用循环判断输入的数是否为奇数,将奇数累加,若输入的数为非正数,打破循环;

(4)输出奇数和(c);

 

3.本题调试过程碰到的问题及解决方法

问题:输出值永远为最后一个奇数;

解决方法:将c=b更正为c+=b;

 

三、循环2 7-7 寻找250

1.实验代码

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int m=0,n;
 6     for(int b=0;b<10000;b++)
 7     {
 8         cin>>n;
 9         m++;
10         if(n==250)
11         break;
12     }
13     cout<<m;
14 }

2.设计思路

(1)运用循环输入数值,当输入的值为250的时候停止输入;

(2)每输入一个值m=m+1;

(3)输出250所在的位置(m);

 3.本题调试过程碰到的问题及解决方法

问题:m的值比正确答案少1;

解决方法:更改代码顺序,先使m=m+1,后判断输入的数是否为250;

 

 

总结学习进度条

1.总结这几周所学内容、遇到的问题以及解决方法

(1)所学内容:if语句,while语句,do-while语句,for语句,函数,指针,类;

(2)遇到的问题:

    问题一:使用void型函数时总报错;

    解决方法:尽量减少在void函数中新定义变量,以及void函数使用次数。

    问题二:使用类中的析构函数使,总显示未定义析构函数的名字(如:~student(),报错时显示未定义student);

    解决办法:使用与类名相同的函数名

                 如:

1 class classroom
2 {
3    ~classroom(){} 
4 };

2.点评3名同学本周作业,并邀请3名同学点评你的作业。

我点评的三名同学:

(1)袁于纯同学

(2)张学健同学

(3)徐凤隆同学

点评我的三名同学:见底部评论

3.请用表格和折线图呈现你这几周的代码行数和时间、博客字数和时间、涉及的知识点;

表格:

周数 本周代码行数/行 编写代码时间/时 博客字数/字 博客所用时间/时 涉及知识点
第九周 4000 20 0 0 条件,循环
第十周 4000 20 0 0 数组,指针
第十一周 3000 16 0 0 函数,类
第十二周 3500 17 1000 3 函数,类

 

 

 

 

 

 

 

 

 

折线图:

posted @ 2018-11-26 20:56  未来NANA  阅读(382)  评论(9编辑  收藏  举报