第七周作業


要求一:

完成PTA中題目集名為《usth-C語言基礎-第七周作業》和《usth-C語言基礎-12周PTA作業》中的所有題目。

(1)《usth-C語言基礎-第七周作業》的截圖

(2)《usth-C語言基礎-12周PTA作業》的截圖

備注:單選題雖然是零分,但是我已做完,只是不正確。

要求二:

7-3 求交錯序列前N項和

1.實驗代碼

#include <stdio.h>
#include <math.h>
int main()
{
  int n,a=1,b=1,i=1;
  double sum=0.0;
  scanf("%d",&n);
  while(i<=n){
    sum=sum+1.0*a/b*pow((-1),i+1);
	i++;
    a=a+1;
    b=b+2; 
  }
  printf("%.3lf",sum);
  return 0;
}

2 設計思路
(1)算法
第一步:把n,a,b,i設置為整形變量,且a=1,b=1,i=1。其中n為你輸入的正整數,a為分子,b為分母,i為循環計數;
第二步:把得到的和sum設置為浮點形變量;
第三步:輸入正整數n;
第四步:寫循環語句:
當i<=n是進入循環,計算sum=sum+a/b*pow((-1),i+1),期間i每循環一次加一,依題得,分子每次都加一,分母每次都加二,因此a每循環一次加一,b每循環一次加二;
第五步:輸出sum的值。
注意:(1)輸出sum的值要保留三位小數;(2)本題是減加減加循環,所以我用的方法是pow((-1),i+1),就是(-1)的i+1次方。
(2)流程圖

3.本題調試過程碰到問題及解決辦法
錯誤:段錯誤

解決辦法:經過查看,輸入少寫了&符號,改正即可。
4.本題PTA提交列表

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

1.實驗代碼

#include <stdio.h>
int main()
{
	int a,b,c,sum,d;
	float average;
	c = 1;
	d = 0;
	sum = 0;
	scanf("%d",&a);
	if(a != 0)
	{
	while(c <= a)
	{
		scanf("%d",&b);
		if(b >= 60)
		{
			d = d +1;
		}
		else if(b < 60)
		{
			d = d + 0;
		}
		sum = sum + b;
		c = c + 1;
	}
	average = (sum + 0.05) / a;
    }
    else if(a == 0)
    {
    	average = 0;
    	d = 0;
	}
	printf("average = %.1f\ncount = %d",average,d);
}

2 設計思路
(1)算法
第一步:把輸入成績的個數 a,學生成績b,循環次數c,成績總和sum,及格人數d設置為整形變量;
第二步:把學生成績的平均數average設置為浮點形變量;
第三步:輸入學生成績的個數a;
第四步:判斷語句:
判斷a是否為零,若不為零,進入循環語句,若為零,則平均值,及格人數都為零;
第五步:循環語句(其中還有一個判斷語句):
判斷c是否小於等於a,若成立進入循環。輸入學生成績b,判斷學生成績是否大於等於60,若是,則及格人數d加一,若不是,則及格人數d加零,之后再計算成績的總和,循環計數c再加上一;
第六步:如果a不等於零的循環結束,跳出循環求平均值average;
第七步:輸出學生成績平均值和學生成績及格的人數。
注意:average = (sum + 0.05) / a,中加0.05是為了四舍五入,為什么加0.05而不是0.5呢,是因為加0.05是為了在小數點后一位精確,而不是在個位。
(2)流程圖

3.本題調試過程碰到問題及解決辦法
錯誤:部分正確。


解決辦法:分析題目結果和錯誤提示發現,錯誤在沒有四舍五入,而第二個錯誤也在四舍五入出了問題,應把小數點后一位根據第二位四舍五入,而不是對個位數四舍五入。
4.本題PTA提交列表

要求三:

(1)Git地址:https://git.coding.net/jsjyuyaosong/usth--work.c.git
(2)上傳截圖

要求四:

作業互評

吳曉明:http://www.cnblogs.com/gu-an-cheng-wxm/p/7850962.html
孫銘婧:http://www.cnblogs.com/sun031915/p/7845595.html#3843670
王姝雯:http://www.cnblogs.com/phsudie/p/7837488.html

要求五:

個人總結

(1)①本周你學習了哪些內容?②收獲了什么?
①本周我學習了循環語句,while,do...while,for,還有類似多重循環的東西。②收獲了這些循環知識點。
(2)①本周所學內容中你覺得哪些是難點?②有哪些知識點還不明白?
①我認為循環語句的框架不是難點,而分析題目是難點。②依題目做題我認為很困難,而其核心在於分析,所以我要多訓練,多鞏固與總結。

要求六:

學習進度表與折線圖



免責聲明!

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



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