一. 分支結構中題目7-10 出租車計價
1.實驗代碼
#include <stdio.h>
int main()
{
int time;//定義一個整數值time
double fare,distance;//定義兩個浮點數
scanf("%lf%d", &distance, &time);//輸入距離和時間
if(time >= 5)
fare = (time / 5) * 2;//營運過程中,因路阻及乘客要求臨時停車的,按每5分鍾2元計收(不足5分鍾則不收費)
if(distance <= 3) {
fare = 10 + fare;//起步里程為3公里,起步費10元,再加上臨時停車的費用
}
else if(distance <= 10) {
fare = 10 + (distance - 3) * 2 + fare;//超起步里程后10公里內,每公里2元,再加上臨時停車的費用
}
else if(distance > 10){
fare = 10 + 7 * 2 + (distance - 10) * 3 + fare;//超過10公里以上的部分加收50%的回空補貼費,即每公里3元,同樣加上臨時停車的費用
}
printf("%d\n", (int)(fare + 0.5));//輸出計算結果(結果四舍五入)
return 0;
}
2.設計思路
(1)文字描述
第一步:先定義時間,金錢和距離
第二步:營運過程中,因路阻及乘客要求臨時停車的,按每5分鍾2元計收(不足5分鍾則不收費)(fare = (time / 5) * 2)
第三步:起步里程為3公里,起步費10元,再加上臨時停車的費用(fare = 10 + fare)
第四步:超起步里程后10公里內,每公里2元,再加上臨時停車的費用(fare = 10 + (distance - 3) * 2 + fare)
第五步:超過10公里以上的部分加收50%的回空補貼費,即每公里3元,同樣加上臨時停車的費用(fare = 10 + 7 * 2 + (distance - 10) * 3 + fare)
第六步:最后輸出計算結果(結果四舍五入)(fare + 0.5)
(2)流程圖

3.錯誤提示
(1)最開始沒有每一步都加上臨時停車的費用
(2)不知道怎么四舍五入

4.解決方法
(1)在最前計算臨時停車的費用,並在以后的每次計算中都加上臨時停車的費用
(2)百度了一下,在所得結果上加上0.5就會在輸出的整數上達到四舍五入的結果
二. 循環1中題目7-3 統計素數並求和
1.實驗代碼
#include<stdio.h>
int main()
int prime(int p){
int isPrime=1 , i;//定義當isPrime=0為素數
if(p<2){
isPrime = 0;//當定義的數小於2時為素數
}
else{
for(i=2; i<=(int)sqrt(p); i++){//for循環
if(p%i == 0){
isPrime = 0;//取余等於0,為素數
break;//結束當前循環
}
}
}
return isPrime;
}
{
int M, N, i, count=0, sum=0;//定義區間的兩個數,for循環的i和所要輸出的兩個結果
scanf("%d %d",&M,&N);//輸入區間兩邊的數
for(i=M;i<=N;i++){//for循環定義區間
if(prime(i)){
count++;//count+1
sum += i;//計算sum
}
}printf("%d %d",count,sum);輸出結果
return 0;
}
2.設計思路
(1)文字描述
第一步:先定義一個素數(假設定義當isPrime=0為素數)
第二步:所以當定義的數小於2時為素數
第三步:在for循環中取余等於0則為素數並結束當前循環
if(p%i == 0){
isPrime = 0;//取余等於0,為素數
break;//結束當前循環
}
第四步:然后定義區間的兩個數,for循環的i和所要輸出的兩個結果
第五步:在for循環中定義區間並求得sum(sum += i)
第六步:最后輸出所求結果
(2)流程圖

3.錯誤提示

4.解決方法
(1)定義isPrime等於0時為素數,從而計算素數的和還有平均數
(2)考慮isPrime不等於0時的情況
三. 循環2中題目7-5 最佳情侶身高差
1.實驗代碼
#include<stdio.h>
int main()
{
int n ;
char x;
double height;
scanf("%d",&n);//輸入一個整數
int i;
for(i=0;i<n;i++){
scanf(" %c %lf",&x,&height);//在for循環中輸入性別和體重
if(x == 'M')//若為男性
printf("%.2f\n",height / 1.09);//輸出計算所得的女性身高
if(x == 'F')//若為女性
printf("%.2f\n",height * 1.09);//輸出計算所得的男性身高
}
return 0;
}
2.設計思路
(1)文字描述
第一步:分別定義一個可輸入字母的類型和一個可輸入數字的類型
第二步:在for循環中分別輸入性別和體重
第三步:輸入若為男性則根據(height / 1.09)輸出計算所得的最佳女性身高
第四步:輸入若為女性則根據(height * 1.09)輸出計算所得的最佳男性身高
(2)流程圖

3.錯誤提示

4.解決方法
查閱了部分資料,將for循環中定義性別的字母替換為%c(char對應着%c)
四.總結
1.總結
a.所學內容
(1)有關分支結構的一些必要步驟
(2)有關for,while循環的一些知識
b.遇到問題
(1)如何定義素數
(2)如何四舍五入
(3)怎么定義字母
c.解決方法
(1)計算每一步都需要考慮是否加全
(2)在所得結果上加上0.5就會在輸出的整數上達到四舍五入的結果
(3)計算與素數有關的問題時要定義isPrime等於何值時時為素數,從而計算素數的和還有平均數
(4)要考慮isPrime不等於0時的情況
(5)int 是整形數據,int a = 3;這里int 是類型, a 是整形變量,3是賦值;char s = 'A'; char是字符類型,s是字符型變量,A是賦值給變量s;
2.點評
3.表格
| 周數 | 此周代碼行數/行 | 碼代碼所用時長/h | 所寫博客字數/字 | 寫博客所用時長/h | 所涉及的知識點 |
| 第9周 | 2800 | 13 | 0 | 0 | 有關分支結構的知識 |
| 第10周 | 3200 | 15 | 0 | 0 | 有關四則運算的知識 |
| 第11周 | 3500 | 15.5 | 0 | 0 | 有關while,for循環的知識 |
| 第12周 | 3500 | 15.5 | 1000 | 5 | 加深對循環的知識 |
折線圖

