我的第3篇博客
我的第三篇博客
作業要求 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篇博客