第一次作業代碼小總結


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

 

 

 

 

 

 

 

 

 

折線圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM