1. 程式人生 > >我的第3篇博客

我的第3篇博客

int 技術 for循環 lan info 錯誤 \n for inf

我的第三篇博客

作業要求 Click Here

一、我的作業

3.1 題目7-2 求平方根序列前n項和

【實驗代碼】

#include<stdio.h>
#include<math.h>
int main ()
{
  system(title 7-2 SQRT);
  int N=0;
  int t=1;
  double Q,S;
  
  scanf("%d",&N);
  
  do{
    Q=sqrt(t);
    t=t+1;
    S=S+Q;
  }while(t<=N);
  
  printf("sum = %.2lf",S);
  
  return 0;
}


【解題思路】

1.定義整型變量N,用來表示項數,定義整形變量t用來表示計算的次數;

2.定義浮點型變量Q用來計算平方根,定義浮點型變量S用來表示所有Q值加起來的和,即前N項和;

3.使用do while循環計算Q,並且將Q進行累加,當計算的次數t達到項數N的時候,跳出循環;

4.按照題目要求的格式輸出S的值。

【流程圖】

技術分享圖片

【運行結果】

技術分享圖片

技術分享圖片

3.2 題目7-3 猴子吃桃

【實驗代碼】

#include<stdio.h>
int main()
{
  system("title Monkeys");
  int N;
  int peach;
  int a;
  
  scanf(
"%d",&N); peach=1; if(N>1&&N<=10){ for(a=1;a<N;a++){ peach=peach+1; peach=peach*2; } printf("%d",peach); } else{ printf("ERROR!"); } return 0; }

【解題思路】

1.定義變量:用N表示天數,peach作為桃子總數,a作為for循環中代表循環次數的數值;

2.判斷輸入的N值是否在題目給定的區間[1,10]內,若在給定區間內,進入循環,若不在題目給定的區間內,令程序報錯;

3.使用for循環,分別計算第N天到第1天剩余的桃子數量,

4.當循環體計算到第1天剩余的桃子數時,跳出循環;

5.按照題目要求輸出結果。

【流程圖】

技術分享圖片

【錯誤改正】

錯誤代碼:

1  for(a=1;a<N;a++){
2          peach=peach*2;
3          peach=peach+1;
4 
5     }
6     printf("%d",peach);

錯誤原因:逆向計算桃子數時沒有認真思考,僅僅依據題目敘述的順序去排列運算的順序,導致計算結果出現錯誤。

【運行結果】

技術分享圖片

技術分享圖片

技術分享圖片

3.3 題目7-4 查詢水果價格

【實驗代碼】

 1 #include<stdio.h>
 2 int main()
 3 {
 4     system("title 7-4 Fruits"); 
 5   int choice,i;
 6   double price;
 7   
 8   for(i=1;i<=5;i++){
 9     printf("[1] apple\n");
10     printf("[2] pear\n");
11     printf("[3] orange\n");
12     printf("[4] grape\n");
13     printf("[0] exit\n");
14     
15     scanf("%d",&choice);
16     
17     if(choice==0)
18     break;
19     
20     switch(choice){
21       case 1:price=3.00;break;
22       case 2:price=2.50;break;
23       case 3:price=4.10;break;
24       case 4:price=10.20;break;
25 } 26 printf("price = %.2f\n",price); 27 } 28 return 0; 29 }

【解題思路】

1.定義變量:使用choice表示輸入的選項,使用price表示查詢的結果,使用i表示循環的次數;

2.進入第一次查詢,輸入需要查詢的選項;

3.根據輸入的選項判斷輸出的結果,若輸入值為零,跳出循環;

4.輸出第一次查詢的結果,進入第二次查詢。當查詢次數達到5次時,自動結束。

【運行結果】

技術分享圖片

技術分享圖片

【錯誤改正】

錯誤代碼:

    switch(choice){
      case 1:price=3.00;
      case 2:price=2.50;
      case 3:price=4.10;
      case 4:price=10.20;

錯誤原因:沒有使用break,導致程序自動向下運行,最終price的值為10.20.

二、我的學習進度

過去的兩周學習中,主要學到了循環的知識。學過的循環共有for、while、do while三種類型。

循環結構是C語言編程的重點,而循環結構的難點在於循環的嵌套。使用循環嵌套時候,應特別註意內部循環的循環條件以及內部循環體的排列順序,以免造成死循環或者計算錯誤。

這是我的學習進度統計圖(藍色代表代碼行數,紅色代表博客總字數/10)

技術分享圖片

三.作業互評

1.作業1

2.作業2

3.作業3

我的第3篇博客