第三次作業


作業要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360

第十一周------第六次作業

6-1 求1到100的和 

本題要求編寫程序,計算表達式 1 + 2 + 3 + ... + 100 的值。

代碼:

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

解題思路:

1、定義兩個整型變量i,sum;

2、判斷循環初值以及循環結束條件;

3、打印輸出sum;

流程圖:

 

調試及運行:

 

 調試過程未發現錯誤

運行結果正確

第十二周------ 第九次作業

 求整數的位數及各位數字之和 

對於給定的正整數N,求它的位數及其各位數字之和。

代碼:

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

解題思路:

1、定義4個整型變量,給其中一個變量number的輸入初值;

2、根據題意設置循環結束條件及運算公式(求整數的各位數字之和則需要使用求余運算);

3、輸出位數count,各位數字之和sum;

流程圖:

 

調試過程及問題:

正確運行的結果應該是輸出2和7,而實際卻輸出了2和-7;

調試過程如下:

調試之后我發現當number<0時,應先在進入循環之前使用if語句保證number為正數;

 正確運行過程及調試如下:

 第十三周------第七次作業

7-3 統計學生平均成績與及格人數 

本題要求編寫程序,計算學生們的平均成績,並統計及格(成績不低於60分)的人數。題目保證輸入與輸出均在整型范圍內。

代碼:

#include <stdio.h>
int main(void)
{
  int N,sum,count,i,grade;
  double average=0;
  sum = 0;
  count = 0;
  scanf("%d",&N);
  for(i=1;i<=N;i++){
    scanf("%d",&grade);
    sum = sum+grade;
    if(grade>=60){
      count++;}
  }
  if(N>0)
  printf("average = %.1f\n",sum*1.0/N);
  else
  printf("average = %.1f\n",sum*1.0);
  printf("count = %d\n",count);
  system("pause");
  return 0;
}

解題思路:

1、定義解題所需變量;

2、根據題意設置循環結束條件;

3、使用if語句加一個計數器統計及格人數;

4、輸出的average要求是浮點型,而sum和N都是整型,因此最后輸出時需要sum*1.0/N;

流程圖:

 調試過程及問題:

 第一次運行時沒有考慮到N=0的情況,N=0時N不能作為分母,因此average無法計算出,導致部分正確;

 

調試過程如下:

 

調試發現錯誤后,我使用if-else語句把N=0和N>0兩種情況進行討論;

 再次進行調試:

運行過程如下:

運行結果都正確;

個人總結這幾周的主要學習各種各樣的循環語句,這是一個難點(在哪一步設置循環,循環結束的條件是什么,嵌套循環怎么使用等等),但同時也是一個重點,因為在以后的學習中接觸的最多的就是循環,經過這幾周課堂上的學習,我弄懂了for循環,while循環與do-while循環的區別與使用,同時也感受到c語言的精深。

 代碼行數及博客字數:

 已評論博客鏈接:

https://www.cnblogs.com/chumengGTRlhz/p/9991154.html

 https://www.cnblogs.com/abcdsjjs/p/10029383.html

https://www.cnblogs.com/freedomjdp/p/9979139.html


免責聲明!

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



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