代码改变世界

第二次作业

2018-12-20 20:24  promise灬文豪*  阅读(147)  评论(15编辑  收藏  举报

 

一、作业要求: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 二维数组