1. 程式人生 > >第三次隨筆

第三次隨筆

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

PTA作業:

第六次作業

7-1 求1到100的和

程式碼:

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

 思路:

1)定義兩個變數,一個迴圈變數,一個求和變數;

2)讓求和變數的初始值為零,讓迴圈變數從一遞增到一百並逐一求和;

3)設定一個判斷值使得迴圈變數不會提前退出迴圈。

流程圖:

執行結果:

除錯之旅:

本週總結:

這一週是我們第一次遇到迴圈,剛開始一些題目確實不懂,但經過老師的講解和同學的幫助終於明白瞭如何操作,希望接下來可以再接再厲,繼續學習下去。此外,通過對中國大學慕課網的學習,也更深一步加強了對迴圈的理解。

第九次作業

7-1 求整數的位數及各位數字之和

程式碼:

#include <stdio.h>
int main()
{
  int b=0,n,sum=0;
  scanf("%d",&n);
    do
    { 
     sum+=(n%10);
     b++;
     n/=10;
    }
    while(n!=0);
   
  
  printf("%d %d",b,sum);
  return 0;
}

思路:

1)首先定義一個輸入數,一個求和數,一個計數變數;

 

2)將輸入的變數進行運算,使輸入的n每次迴圈時都除以10,並讓sum每次都加上n,最後讓計數變數每次加一,完成每次運算;

3)迴圈時當n為零時結束迴圈。

流程圖:

執行結果:

除錯之旅:

本週總結:

這一週我們又一次集中學習了迴圈裡的相關問題,前面幾節裡不會的題目終於得到了詳細的解答和提示,但對於迴圈仍然存在一些疑難問題有待解決,例如如何求解實際數學問題。但我相信,只要繼續努力學習,所有的問題都會解決。

第十次作業

7-1 統計素數並求和

程式碼:

#include<stdio.h>
int main()
{
  int M,N,i,j,count=0,sum=0,flag=0;
  scanf("%d %d",&M,&N);
  for(i=M;i<=N;i++){
  	for(j=2;j<i;j++)
	  {
	  if(i%j==0)
      {
       flag=1;
	   break;
	  }
      }
      if(flag==0)
	  {
      	count++;
        sum=sum+i;
	  }
	  flag=0;
  }
  if(M==1)
  {
  printf("%d %d",count-1,sum-1);
  }
  else
  {
  	printf("%d %d",count,sum);
  }
  return 0;

}

 解題思路:

1)首先定義兩個輸入量最小值M和最大值N,再定義一個計數變數count和一個兩個控制迴圈變數i和j,接下來定義一個求和變數sum,最後定義一個標誌變數flag;

2)輸入最小值最大值確定範圍;

3)讓i從M開始迴圈,讓j從2開始迴圈;

4)讓i除以j取餘,如果餘數為零則證明i對應的數為非素數,這時將初始值為0的flag賦值為1,使用break跳出j的迴圈;

5)在i的迴圈裡進行判斷,如果flag等於0,則使count加一且讓sum等於原值加上這時的i;

6)在i的迴圈最後將flag的值還原為0;

7)如果M的值為1,因為1並不是素數但計算機又已經將1視為素數進行運算,所以將最後輸出的兩個值分別減1。

流程圖:

執行結果:

除錯之旅:

本週總結:

這一週是我們學習迴圈的最後一週,也是進一步鞏固前面所學知識的一週。經過了為其數週的關於迴圈的學習,我們掌握了三個迴圈語句,分別是 for迴圈,while迴圈以及do-while迴圈,雖然題目對我們的考驗依舊很大,但是相信經過日復一日的學習和練習,經過無數程式碼的敲擊,我們一定會學有所成。

學習進度條

表格:

折線圖:

點評

 莫有江:https://www.cnblogs.com/moyoujiang/p/9939932.html

孫軼:https://www.cnblogs.com/error203/p/9945496.html

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