一、分支結構 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 | 函數,類 |
折線圖:

