• C语言I博客作业11


    这个作业属于哪个课程 C语言程序设计I
    这个作业要求在哪里 作业链接
    我在这个课程的目标是 熟练掌握C语言,能独立完成简单项目,毕业前想做出一个简单的游戏
    这个作业在那个具体方面帮助我实现目标 知道函数的分类,理解各种变量的生存期与作用域
    参考文献 作业评价标准

    1、PTA实验作业

    1.1统计某类完全平方数

    问题描述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

    1.1.1 数据处理

    • 数据表达:定义了整型变量A,i,j,k,数组a[10]和n;浮点型n;A当作临时变量用来替代原数据N,i、j均为for语句用来计数的变量,K用来记录N的每一位上的数,a[10]用来计算每个数据出现了几次,n表示N的算数平方根。
    • 数据处理:

    伪代码如下
    定义整型变量i,j,k,a[10];
    for循环初始化数组a;
    定义浮点型变量n,用来表示N开根号;
    if(N是完全平方数)//用到的floor函数百科
    {
    定义整形变量A,临时替代N;
    while语句记录各位上的数出现的次数,储存在数组a中;
    for循环一次读取数组a的数据;
    if(有任意一个数据出现了两次)
    return 1
    }
    return 0

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    105 500 cnt = 6 样例,正确
    45 324 cnt = 4 随机数,正确

    1.1.4 PTA提交列表及说明

    • 1、运行超时:for循环出现逻辑错误,导致死循环。
    • 2、编译错误:出错的for语句修改成while语句后,除号打成了。

    1.2统计各位数字之和是5的数

    问题描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。

    1.2.1 数据处理

    • 数据表达:第一个函数中,定义了i,sum和N,分别表示各位上的数,各位上数的和,输入的数据;第二个函数中,定义了i,count和sum,分别表示区间内每个数,满足条件的数有多少个,满足条件的数之和。
    • 数据处理:

    伪代码如下
    第一个函数;
    定义整形变量i,sum=0,N=number;
    while(.....)计算各位数之和;
    if(sum==5)
    返回1;
    else
    返回0;
    第二个函数;
    定义整形变量i,sum=0,count=0;
    for(...)分别取出区间内所有数;
    {
    if(i代入第一个函数)
    {
    count++;
    sum+=i;
    }
    }
    输出count,sum;

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    104 999 104 is counted. count = 15, sum = 3720 样例,正确
    203 500 代码运行图 随机数,正确

    1.2.4 PTA提交列表及说明

    • 1、答案错误:while语句终止条件错误,写成了i!=0,第三个表达式出现逻辑错误,写成了i=i/10。
    • 2、部分正确:只改了第三个表达式,未发现终止条件出错,改正后答案正确。

    2、代码互评

    同学代码

    我的代码

    • 1、该同学只用了3个for循环就算出了结果,且答案正确,代码很简洁。
    • 2、我用了6个for语句,很麻烦且很杂乱,虽然答案正确,但别人很难看懂,作为一名程序员,让别人看懂你的代码是很重要的一个能力,由此可见我的不足之处--不够精炼,以后定当多修改,让代码尽量简洁完整无误。

    3、学习总结

    3.1 学习进度条

    日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
    10/7--10/13 9+个小时 100+ 编写if-else语句,算术运算与赋值运算规则等 while语句的使用以及适用范围
    10/14--10/20 8+个小时 190+ for的使用,if-else与for的组合使用 while与for的区别
    10/21--10/27 6+个小时 340+ 定义函数与调用 对函数的定义与调用不熟悉
    10/28--11/3 6+个小时 260+ if-else的镶嵌结构 用太多if-else会比较混乱
    11/4--11/10 6+个小时 170+ switch语句的基本运用 switch与if-else的区别
    11/11--11/17 6+个小时 120+ while语句的使用 什么是指针
    11/18--11/24 6+个小时 90+ continue的使用以及其与break的区别 什么是指针,长度可变数组与长度固定数组的区别和适用情况
    11/25--12/01 7+个小时 160+ for语句的嵌套 函数的分类
    12/02--12/08 9+个小时 170+ 函数类型,变量生存期与作用域等 任意混淆全局变量与局部变量,静态变量与动态变量的关系

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    思维导图

    3.3.2 学习体会

    • 答:1、这周所学内容较多且易混淆,所以需要花更多时间来消化理解,PTA作业基础题难度明显增加,挑战题甚至能做好几个小时,还不一定做得出来,容易炸心态。但学习就是如此,你不让它臣服于你,它就让你生不如死。开个玩笑,总之这周的学习还是有些难度的,我也会尽力克服,努力跟上节奏。
    • 2、其次就是关于期末考试,考试临近心情还是有些激动的,当然也有点慌,学了一个学期很想知道自己学得怎样,但又怕考砸了丢人而且自己心里也不好受,所以复习就显得尤为重要,快考试了所以课很少,不妨在闲余时刻多看看书,不要老想着打游戏,不仅耽误学习还伤身体。
  • 相关阅读:
    golang生成树状菜单
    golang自定义某种类型时的打印输出
    【转】搭建自己的邮件服务器
    【转】【VSCode】golang的调试配置launch.json
    【转】Nvidia GeForce MX250 Lower-End Dedicated Graphics
    【转】Alertmanager高可用
    【转】Prometheus 和 Alertmanager实战配置
    YAML格式的语法
    golang写一个占用大内存的程序
    [转]TDengine常用命令及SQL
  • 原文地址:https://www.cnblogs.com/solokill/p/11989575.html
Copyright © 2020-2023  润新知