第三次作業


 

作業要求 :【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359

第6次作業:7-1 求1到100的和:

1.代碼:

#include<stdio.h>
int main()
{
    int i,sum;
    sum = 0;
    for(i = 1;i<=100;i++){
    sum = sum + i;    }
    printf("sum = %d",sum);        
    return 0;
 } 

2.解題思路:

(1).先定義整型變量i和sum。

(2).再定義sum等於零。

(3).建立一個for循環,循環條件為i小於等於100。

(4).在進入循環時定義i為1,如果i小於等於100則進入循環,若大於100則進入第五步。

(5).每次循環結束后i都加1。 

(6).輸出sum,sum等於1到100的和 。

 

 3.流程圖:

4.調試過程:

(1).

 

 (2).

 

 5.本題遇到的問題和解決方法:

(1.)唯一一個問題就是我以為for循環中在不需要時可以不寫條件也可以不寫分號(如圖)

 然后在我編譯的過程中就出現了錯誤(如圖)

在我經過了許久的排查之后並沒有解決問題,然后在同學的火眼金睛下發現了這個致命的錯誤。

 

6.個人總結:

在這兩次的作業中,我發現難度在一點點增高,我所暴露出來的問題也越來越多,就像這道題就是因為這種小問題導致我浪費了很多的時間,所以在以后的學習過程中,一定要杜絕這種可避免的錯誤,提高做題的效率。這樣才能做更多的題,也可以大大的節省時間。如果馬虎這個問題得不到解決,是很致命的。然后在這段時間的學習當中也使我對循環的理解更進了一步。

 

第9次作業:7-5 奇偶分家:

1.代碼:

#include<stdio.h>
int main(){
    int a,b,e,c,d,i;
    a = 0;
    d = 0;
    c = 0;
    scanf("%d",&a);
    for(i = 1;i<=a;i++){
        scanf("%d",&b);
        c = b % 2;
    if(c!=0){
            d++;
        }
    }
    e = a - d;
    printf("%d %d",d,e);
    return 0;
}

2.解題思路:

(1).定義整形變量a,b,c,d,e,i。

(2).定義a等於0,d等於0,c等於0。

(3).輸入a。

(4).建立一個for循環,循環的條件為i小於等於a,而且在進入循環時,使i等於1。

(5).進入循環第一步先輸入一個b,然后求出c(c為b除以2的余數),如果c不等於零這表示輸入的b為奇數,反之c等於零則b為偶數。

(6).進入一個if的判斷,如果c不等於0則d加1(d就代表奇數的個數 ),如果c等於零則回到for循環的第一步中,輸入一個b。

(7).在每次循環結束后i都加1

(8).求出e,e等於a減d。e為偶數的個數。

(9).輸出d,e,即輸出奇數和偶數的個數。

3.流程圖

4.調試過程(以三個數分別為12,10,13為例)

(1).

 

 

2).

 

 (3).

 

(4).

 

5.本題遇到的問題和解決辦法:

 (1).本題遇到第一個的問題是:該如何區分奇偶數。剛開始這個問題確實困擾了我一會,在我一籌莫展的時候回想起了老師課上講的內容,就是關於奇偶數的。然后就想起來了解題的方法。

(2).第二個問題就是循環里面套判斷的方法使用的不熟練,因為是第一次使用,所以很生疏,錯誤也特別多。

 

6.個人總結:

在這兩次的作業中我發現了循環的重要性,而且也開始運用一些知識上的結合,比如我舉例的這道題,就是運用了for和if來解決這道題的。然后在以后的課堂上一定會認真聽講,老師課上講的東西真的都很有用,一旦錯過一點都會損失很多。然后我也要加強對循環的訓練和使用,老師也是強調過在c程序中循環是很重要的。

 

第十次作業:7-4 最大公約數和最小公倍數:

1.代碼:

 

#include<stdio.h>
int main(){
    int a,b,c,d,i,f = 0;
    int e,g;
    scanf("%d %d",&a,&b);
    for(i = 1;i<=a;i++){
        c = a % i;
        d = b % i;
        if(c==0&&d==0){
        e = i; 
}
}
    g = a * b / e;
    printf("%d %d",e,g);
    return 0;
} 

 

2.流程圖:

 

 

 

3.解題思路:

(1).定義整型變量a,b,c,d,e,f,g,i。使i等於1,f等於0.

(2).輸入a,b。

(3).建立for循環,循環的條件為i小於等於a。

(4).進入循環后按照計算式( c = a % i;  d = b % i;)求出c,d。這步是為了尋找a,b的約數。

(5).進入判斷,如果c,d都等於零,將i的值賦給e,否則回到循環中繼續運算。這步是為了求出了a,b的最大公約數e。

(6).每次循環結束都將i加1。

(7).通過g = a * b / e,得出g,g為a,b的最小公倍數。這個式子是在已知兩個數的最大公約數時求最小公倍數的數學公式。

(8).輸出最大公約數e,最小公倍數g。

4.調試過程:

(1).

 

(2).

 

 (3).

 

 

(4).

 

5.本題遇到的問題和解決辦法:

(1).本題遇到的最大的問題就是在求最小公倍數的時候,我並沒有第一個想到我舉例中的那個數學公式,而是以代碼的形式取而代之,我寫了很久,也寫了很多,寫的特別亂,更別說對錯了,就連編譯都是一堆錯誤,然后在我一籌莫展的時候,我室友告訴我說這個其實不用這么復雜,它其實用一個數學公式就可以求出來。

(2).然后再就是一些技術上的問題,在運用循環和判斷的嵌套時總會在大括號的位置上出現問題。

 

6.個人總結:

在這周的學習中我暴露出來的最大的問題就是數學知識不夠硬,在一些與數學有關的地方總是浪費時間,所以一定要加強數學能力。然后通過這兩周的學習過程中,讓我在循環這一部分有了一定的進步,讓我使用起來更熟練。

 統計圖表:

(1).

 

(2).

 

https://www.cnblogs.com/wangxiangbo/p/9948484.html

https://www.cnblogs.com/chengxu230921/p/10017973.html

https://www.cnblogs.com/zcybky/p/10022913.html


免責聲明!

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



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