1. 程式人生 > >C語言——第七周作業

C語言——第七周作業

net 解決方法 image 判斷 選擇 std 語言 seventh 代碼

題目

題目一:求交錯序列前N項和

1.實驗代碼

#include <stdio.h>
int main()
{
    int n , i , b ;
    double sum = 0 , a , c ;
    scanf("%d",&n);
    a = 1;
    b = 1;
    for( i = 1 ; i <= n ; i++)
    {
        c = a * i / b;
        sum += c;
        a = -a;
        b += 2;
    }
    printf("%.3f",sum);
}

2.設計思路

①算法

第一步:定義變量。

第二步:輸入序列項的數目n。

第三步:使用循環語句,i的初始值為1,當i小於等於項數N時,循環繼續,c = a * i / b (c為序列中每一項的值,a的值用來確定每一項的正負,i表示每一項的分子,b表示每一項的分母),sum = sum + c (計算序列和,sum初始值為1),a = -a(序列中奇數項為正,偶數項為負,a初始值為1),b = b + 2(相鄰兩項中,後一項比前一項大2,b初始值為1).

第四步:輸出sum(即序列的前n項和)。

②流程圖

技術分享

3.本題未遇到問題

4.本題PTA提交列表

技術分享

題目二:統計學生平均成績及及格人數

1.實驗代碼

#include<stdio.h>
int main()
{
    int n , i , count = 0;
    int a[10001];
    double average , sum;
    scanf("%d",&n);
    for( i = 0 ; i < n ; i++)
    {
        scanf("%d",&a[i]);
        sum += a[i];
        if( a[i] >= 60)
        {
            count++;
        }
    }
    
if(n>0) { average = sum / n; } printf("average = %.1f\n",average); printf("count = %d\n",count); }

2.設計思路

①算法

第一步:定義變量。

第二步:輸入學生人數n。

第三步:使用循環語句,i的初始值為0,當i < n時,循環繼續,輸入a[i](a[i]為學生的成績組),sum = sum + a[i](sum為學生成績之和)。

第四步:判斷n > 0時(有學生存在),平均成績 = 成績總和 / 人數。

第五步:輸出平均成績和及格人數。

②流程圖

技術分享

3.本題調試過程所遇問題

思考不夠全面,沒有考慮到沒有學生存在的情況。

截圖

技術分享

解決方法:在最後運算前補充一個選擇結構,只有學生數大於0時才會有結果輸出。

4.本題PTA提交列表截圖

技術分享

我的git地址:https://git.coding.net/dx200798/seventh.git

項目截圖

技術分享

個人總結

本周學習內容:

本周簡單學習了數組,練習運用了三種循環語句。

疑點難點:

對循環語句的互相嵌套的應用還不夠熟練。

互評和學習進度

互評鏈接

鏈接一:

鏈接二:

鏈接三:

圖表

技術分享

技術分享

C語言——第七周作業