C語言|博客作業03


這個作業屬於哪個課程 https://edu.cnblogs.com/campus/zswxy/SE2020-2/
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11449
這個作業的目標 <更好的認識到自己的短處並改正過來>
學號 <20209133>

PTA實驗作業

1.1

題目內容

本題要求編寫程序,計算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N項之和

截圖代碼

1.2

數據表達:用了變量i,n,sum,i與n一起構成循環
數據處理:表達式:無。流程結構:用for語句循環

1.3

PTA提交列表和說明

說明
Q1.符號用的還有錯誤

A1.細心一點就好

2.1

題目內容

本題要求編寫程序,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。

截圖代碼

2.2

數據表達:用了變量i,n,sum,i與n一起構成循環
數據處理:表達式:無。流程結構:用for語句循環

2.3

PTA提交列表和說明

說明
Q1.剛開始對這幾個字母感到賊亂,有點不知所措的感覺

A1.這個需要自己仔細審題,多看看理清關系就好了

3.1

題目內容

本題要求編寫程序,計算平方根序列√1+√2+√3+⋯的前N項之和。可包含頭文件math.h,並調用sqrt函數求平方根。

截圖代碼

3.2

數據表達:用了變量i,n,sum,g,i與n一起構成循環
數據處理:表達式:無。流程結構:用for語句循環

3.3

PTA提交列表和說明

說明
Q1:變量一多就亂了,不曉得怎么操作

A1:不能自亂陣腳,要有耐心一步一步慢慢的去寫

閱讀代碼

include<stdio.h>

int main()
{
int r, c;
char a[20][20];
while (scanf("%d %d", &r, &c), r && c)
{
getchar();
int i, j, index = 0;
for (i = 0; i < r; i++)
for (j = 0; j < c; j++)
a[i][j] = getchar();
getchar();

    int isRow = 1, isOrder = 1, rb = 0, re = c - 1, cb = 0, ce = r - 1;
    while (1)
    {
        if (isRow)
        {
            if (rb > re)
                break;

            if (isOrder)
            {
                for (i = rb; i <= re; i++)
                    putchar(a[index][i] - 7);
                index = re;
                cb++;
            }
            else
            {
                for (i = re; i >= rb; i--)
                    putchar(a[index][i] - 7);
                index = rb;
                ce--;
            }
            isRow = !isRow;
        }
        else
        {
            if (cb > ce)
                break;

            if (isOrder)
            {
                for (i = cb; i <= ce; i++)
                    putchar(a[i][index] - 7);
                index = ce;
                re--;
            }
            else
            {
                for (i = ce; i >= cb; i--)
                    putchar(a[i][index] - 7);
                index = cb;
                rb++;
            }
            isOrder = !isOrder;
            isRow = !isRow;
        }
    }
    putchar('\n');
}
return 0;

}
這是一個我不敢想象的超長的代碼,雖然很難,但仔細看過后還是能夠找到許多可以學習的地方,這里面用了if-else語句,該語句可以用於現實分支,是一種選擇結構,可以讓代碼選擇執行。還用了我們最近學習的for語句,在這里for語句可以讓程序構成循環,實現C語句的重復執行,我們可以了解到for語句常常通過改變某個變量的值來控制循環的執行,並且for語句中的表達式1只執行一次,這些都是我可以去學習去了解的

學習總結

1.學習進度條

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
3/9-3/15 6小時 19 for語句 對這個的使用有點迷茫

2.累計代碼行和博客字數

時間 博客字數 代碼行數
第三周 798 19

3.學習感悟
a. 真的只有自己認真做才能真正的發現自己的問題,多多少少會有一些不夠細心地地方,以后要更認真才行。
b. 學這個專業真的需要耐心,這很重要(親測),不要因為一次的錯誤就感到不耐煩,要真正的沉下心來,才能達到你想要的結果。
c. 要對自己不夠了解的地方繼續深入的去學習,而不是一種簡單的感覺(感覺自己會了,正真寫起東西來又無從下手),對於我自己來說,還是基本的概念都不太清楚,導致自己經常出問題,所以我還是要多看看書,只有這樣才能正真學好這個東西。


免責聲明!

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



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