第二次作業


 

一、作業要求:https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502

二、函數:6-3 數字金字塔

 1.實驗代碼

void pyramid (int n)                   
{        
    int row, col;
    for (row = 1; row <= n; row++){        
        for (col = 1; col <= n-row; col++)     
        {
            printf(" ");
        }        
        for (col = 1; col <= row; col++)       
        {
            printf("%d ", row);    
        }        
        putchar ('\n');            
    }
}

2.解題思路

第一步:定義變量

第二步:建立for循環

第三步:輸出結果

 

 

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

 

 

 

 

由於第一次接觸函數作業,所以在上交的過程中會有編譯錯誤的提示,通過詢問助教后明白了其中的錯誤並將其改正。

 

2、數組.1:7-4 求一組數中的最大值和次最大值

1、實驗代碼

#include<stdio.h>
int main()
{
    const int N=10;
    int a[N];
    int i;
    int p,q;
    int cmax,max;
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }
    max=a[0];
    cmax=a[0];
    for(i=1;i<10;i++)
    {
        if(max<a[i])
        {
            max=a[i];
            p=i;
        }
    }
    for(i=1;i<10;i++)
    {
        if(cmax<a[i]&&i!=p)
        {
            cmax=a[i];
        }
    }
    printf("max=%d,cmax=%d",max,cmax);
    return 0;
}

2.解題思路

第一步:定義變量

第二步:輸入數組中的數,使max=a[0];cmax=a[0];

第三步:建立for循環

第四步:在for循環中建立if判斷語句條件為max<a[i]?

第五步:建立for循環

第六步:在for循環中建立if判斷語句條件為cmax<a[i]&&i!=p?

第七步:在for循環中輸出結果

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

 

 

 

 

第一次沒有利用好數組中最大值的編號,導致出現了錯誤。通過反復調試得到改進。

 

3、數組.2:7-1 簡化的插入排序

1.實驗代碼

#include<stdio.h>
int main()
{
    const int N=10;
    int a[N];
    int i,n,x,j,t;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    scanf("%d",&x);
    j=n;
    if(a[n-1]>x)
    {
    t=x;
    x=a[n-1];
    a[n-1]=t;
    }
    while(j!=0)
    {
        for(i=0;i<n-1;i++)
        {
            if(a[i]>a[i+1])
            {
                t=a[i];
                a[i]=a[i+1];
                a[i+1]=t;
            }
        }
        j--;    
    }

    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    printf("%d ",x);
    return 0;
}

2.解題思路

第一步:定義變量

第二步:輸入數組中的數

第三步:建立if判斷語句

第四步:建立while循環條件為j!=0;

第五步:在while循環中建立for循環;

第六步:在for循環中家里if判斷語句;

第七步:通過for循環輸出結果;

 

 

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

 

 

三、個人總結

 (1)總結這幾周你學習哪些內容(不限於課上)?你有哪些收獲?

這幾周我們學習了數組;

我學習后能用數組快速的編輯所需的程序,並更簡單明了的譜寫出來。

(2)總結這幾周所學內容中你覺得哪些地方是難點?對此你做了哪些措施去克服這些困難?

1:數組的定義一開始沒有弄明白;

2:函數的聲明容易出現錯誤

3:不懂函數的調用

①:通過翻閱書籍了解數組的定義;

②:通過中國mooc學習函數

 

四、互評和學習進度

(1):劉昱淞同學

(2):邱作鵬同學

(3):王恩臨同學

 

 周數 本周代碼行數/行 編寫代碼時間/時

博客字數/字

博客所用時間/時

涉及知識點
 第十三周  4000  20 0  函數
第十四周  3500  17  0  數組
第十五周  3500  18  0  數組
第十六周  4000  21   1200 5 二維數組 

 

 


免責聲明!

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



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