第一次作業


 

一。分支結構7-8.計算個人所得稅

1.實驗代碼

#include<stdio.h>
#include<math.h>
int main()
{
    float a;
    scanf("%f", &a);
    if(a>=0)
    {
        if(a<=1600)
        {
            a = 0*(a-1600);
            printf("0.00");
        }else
        if(a>1600 && a<=2500)
        {
            a = 0.05*(a-1600);
            printf("%.2f",a);
        }else
        if(a>2500 && a<=3500)
        {
            a = 0.1*(a-1600);
            printf("%.2f",a);
        }else
        if(a>3500 && a<=4500)
        {
            a = 0.15*(a-1600);
            printf("%.2f",a);
        }else
        if(a>4500)
        {
            a = 0.2*(a-1600);
            printf("%.2f",a);
        }
    }
    return 0;
}

2.設計思路

(1)文字描述:

第一步:先定義一個浮點型變量a,a為金錢的數量。

第二步:使用if語句,判斷a在不同區間的稅率。

第三步:a<1600無稅率

a = 0*(a-1600);
printf("0.00");

第四步:輸出結果。

(2)流程圖

3.錯誤提示:

(1):沒有寫出無收入的情況

4.解決方法:將printf("%.2f",a);改為printf("0.00");就對了因為a <= 1600無稅率所以只輸出0就可以了。

二。循環1。7-5 最大公約數和最小公倍數 

1.實驗代碼:

  #include<stdio.h>
#include<math.h>
int main()
{
    int M, N;
    scanf("%d %d",&M, &N);
    int yushu;
    yushu = M%N;
    int x;
    x= M * N;
    if(yushu == 0)
    {
        printf("%d %d", N, x/N);
    }else
    {
        while(yushu != 0)
        {
            M = N;
            N = yushu;
            yushu = M%N;
        }
        printf("%d %d", N, x/N);
    }
    
    return 0;
 } 
  

2.設計思路:

(1)文字描述

第一步:先定義正整數M,N,在定義一個余數yushu

第二步:因為最大公約數=兩數之積/最小公倍數,所以只要求出一個,另外一個就可以求出來了。

第三步:有兩整數M和N:M%N得余數yushu

第四步:若yushu=0,則b即為兩數的最大公約數
第五步:若yushu≠0,則M=N,N=yushu,再回去執行

第六步:就可以輸出結果了。

(2)流程圖

3.錯誤提示

(1)格式錯誤

 

4.解決方法

細心的找出了格式錯的地方,將其改為正確的格式。

三。循環2  7-2 水仙花數

1.實驗代碼

#include<stdio.h>
#include<math.h>
int main()
{
    int n; 
    scanf("%d", &n);
    int x = 0;
    for(x = pow(10,n-1); x<(pow(10,n)); x++)
    {
        int b = x;                
        int sum = 0, a = 0,i;
        for(i = 1; i <=n; i++)
        {
            a = b%10;                    
            b /= 10;                
            sum += pow(a,n);
        }
        if(sum == x) 
        {
            printf("%d\n",x);
        }

   }
     return 0;
}

 
        

2.設計思路:

(1)文字描述

第一步:先定義一個變量N

第二步:使用for循環語句,賦值使b=x

第三步:再次使用for循環,判定sum的值

第四步:使用if語句,輸出x的值。

(2)流程圖

 

3.錯誤提示

4.解決方法:

將雙層循環改為單層循環。

四。總結

(1).這幾周學習了分支結構和循環的一些知識,從中了解了float,double的一些用法,明白了if,for循環的用法,會用代碼解決一般性的問題。

(2).再打代碼的過程中遇到了很多問題,如運行超時,格式錯誤,編譯錯誤等等,最后通過上網查閱資料,以及細心的調試代碼將代碼的邏輯問題弄清楚之后,解決了代碼的問題。

2.超鏈接

李睿淇

趙豪

王恩臨

3.表格

周數 代碼行數
打代碼所用時間
 博客字數  博客時間 涉及的知識點 
第10周 2000 12 0 0 分支結構,double,float
第11周 2500 14 0 0 if語句,for循環
第12周 2700 15 0 0 while語句
第13周 3200 18 1000 6h 素數,金字塔,函數

 

 

 

 

 

 

 

 

折線圖:

 


免責聲明!

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



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