第一次作业代码小总结
一、分支结构 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 | 函数,类 |
折线图: