c语言博客作业03--函数

1.本章学习总结

1.1 思维导图

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

    这两周接触了函数,相同功能的代码可以放在同一个函数中,供其他函数调用,还可以解决代码的重复问题,使得代码量大的变得更加简洁;
    还接触了实参,形参,全局变量,局部变量,静态局部变量。实参可以是常量,变量和表达式,而形参只能是变量,并且接受实参传递的值。
    全局变量可以作用于全局,但是全局变量和局部变量一同出现时,以局部变量为首,静态局部变量可以保留上次函数调用结果的值。

1.2.2 代码累计

2.PTA总分

2.1截图PTA中循环结构2次题目集的排名得分

2.2 我的总分:

总分:145分

3.PTA实验作业

3.1 PTA题目1

    本题要求实现一个函数,输出n行空心的数字金字塔。

3.1.1 算法分析

    ---在主函数中
    ------输入数字n作为行数
    ------调用函数
    ---在调用的函数中
    ------定义变量
    ------for(k=1;k<=n-i;k++)
        printf(" ");//输出金字塔前的空格
    -----在讨论1的情况,若是一直接回车
    -----不是一:
          while(a<=2*n-1)
          {
            printf("%d",i);
            a++;
          }
    -----在计算中间的空格,并在最后输出数字
         printf("%d",i);
         for(b=1;b<=2*i-3;b++)
           printf(" ");//输出数字中间的空格
         printf("%d\n",i);
    ---return;

3.1.2 代码截图

3.1.3 测试数据



3.1.4 PTA提交列表及说明

    Q1:没有考虑到当n=1时会怎么样
    A1:在软件里输入几个数后发现错误

4大作业

4.1函数关系图

4.2.函数功能介绍

1.int main函数,作为主函数,为了简洁,内容用了另一个函数来取代

2.void get()主要做来调用函数和输出一些结果



3.int select()用来作为用户看到的界面,还有选择难度和题量

4.void first()用来处理一级难度的题目


5.void second(int x)用来处理二级和三级难度的题目


4.3 运行结果截图









4.4调试碰到问题及解决办法

    最大的问题就是在用户使用时误输入字母时会出现不合理的情况,为了解决这个问题我使用了一个紧急出口,相当于直接结束掉本次运行。
    其次就是在用户输入难度和题量时,如果输入了字母怎么报错,我用了字符,然后再结合字符转换为数字。

4.5 大作业总结

    这个大作业是再学c语言来第一次自己写这么大代码量的作业,最初的难点就是如何构造结构,怎么让结构清晰;其次就是一些特别的函数运用例如清屏函数,暂停函数等;
    最后就是再调试时怎么处理bug,处理这个就是尝试,不断修改小部分代码,再运行,再修改,直到符合为止。
posted @ 2018-11-10 16:57  白白以桃花入笺  阅读(521)  评论(0编辑  收藏  举报