zoukankan      html  css  js  c++  java
  • C语言I博客作业11

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127
    我在这个课程的目标是 学会独立写一些小程序
    这个作业在哪个具体方面帮助我实现目标 学习定义函数,调用函数,学会运用数组
    参考文献 《C语言程序设计》《C primer plus》百度

    1.PTA实验作业

    1.1 6-1 统计某类完全平方数

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

    1.1.1数据处理

    • 数据表达::定义了整型变量n,m,div,i,定义了数组a[10]
    • 数据处理:使用了嵌套循环

    begin
    调用函数
    {
    定义变量并赋值;
    m,n的表达式
    if(m == N)
    {
    定义数组a,限制a内所有元素均初始化为0;
    while(m>0)
    {
    定义i,i = m % 10;
    循环;
    if(a[i]==2)
    {
    满足,返回1;
    }
    m = m/10
    }
    end

    1.1.2 实验代码截屏

    1.1.3 造测试数据

    输入 输出 说明
    105 500 cnt = 6 105至500间有6个完全平方数
    100 200 cnt = 3 100至200间有3个完全平方数
    1 1000 cnt = 9 1至1000间有9个完全平方数
    1000 2390 cnt=9 1000至2390间有9 个完全平方数

    1.1.4 PTA提交列表及说明

    列表说明:

               * 没有正确定义函数,定义的时候就出现了问题
               * 没有给变量赋值,导致错误
               * a[10]={0}写成了a[10]=0
    

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

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

    1.2.1 数据处理

    • 数据表达:定义了整型变量n,sum,i
    • 数据处理:使用了while语句,if-else语句,for语句

    begin
    {
    定义变量并且赋值;
    n = number;
    while语句
    {
    sum = sum+n%10;取余求和
    n = n/10;去除个位数
    }
    if-else语句判断
    }
    定义函数
    {
    重新定义变量
    for循环
    调用函数
    {
    count++;
    sum = sum+i;所有满足条件数和
    }
    输出
    end

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入 输出 说明
    1 99 count = 6, sum = 165 1-99之间有6个满足要求且它们之和为165
    100 999 count = 15, sum = 3720 100-999之前有15个满足要求且他们之和为3720
    1000 9999 count = 35, sum = 73885 1000-9999之间有35个满足要求且他们之和为73885
    104 999 count = 50, sum = 3720 104-999之间有35个满足要求且它们之和为3720

    1.2.4 PTA提交列表及说明

    列表说明:

               * if语句中的条件和输出出现矛盾,导致错误
               * 定义新函数时未给变量赋值,导致错误
               * 输出应该为1,我搞成1了,导致错误
    

    2.代码互评

    同学代码截图

    同学1:

    同学2:

    自己代码截图

    对比:

          * 同学1运用 do-while 语句,同时调用了函数
          * 同学2的代码比较简洁,直接用while语句和if-else语句解决了这个问题
          * 我不仅用了if-else语句,while语句,for循环,还定义了函数来解决这个问题,比较繁琐和复杂
    

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较困惑的问提
    第一周 6h 74 学习基本的C语言语法和知识,初步了解和接触C语言 不知道自己编的程序的正真用法
    第二周 13h 102 学习了解C语言的一些基础模式和变量 无法正确的解释代码中不同量的意义
    第三周 15h 156 学习C语言的一些基本函数和变量模板 无法正确使用各类函数类型和变量类型
    第四周 15h 130 for语句和循环结构 运用for语句时变量的控制及其循环时各表达式的书写
    第五周 12h 273 学习调用,定义,说明函数 无法正确运用各种函数,不明白什么时候定义什么类型的函数
    第六周 16h 270 学习使用分支结构,和if-else与分支结构的合并使用 对于分支比较复杂的无法正确的分层
    第七周 7h 109 学习switch语句,并且运用switch语句 不知道表示case范围时,该怎么用switch语句编写
    第八周 9h 89 学习do-while语句,并且掌握switch语句 不了解do-while语句使用时的条件
    第九周 6h 103 学习for语句的嵌套,比较好的解决了一些排列问题 无法正确确定for语句内部判断条件
    第十周 6h 112 能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序 无法将学习过的算法串到一起使用,无法快速的找到最准确的办法
    第十一周 2H 123 函数的声明,调用,参数的传递 无法正确定义和调用函数,相对而言凭空造一个函数比较难

    3.2 累积代码行和博客字数

    3.3.1 学习内容总结

    3.3.2 学习体会

    • 作业越来越难了不知道在搞什么东西了,临近期末慢慢悲伤害怕,挂科不知道怎么搞。
    • 题目越来越难,时间越来越短,基本上PTA的题目都不是之间独立完成的,哎每次看到题目就悲伤。
    • 对人生还是要抱有期待的,真难!
  • 相关阅读:
    setTimeOut 和 setInterval对比
    vue官方源码剖析
    Taro 总结
    地图相交
    vscode 配置文件
    redis持久化的几种方式
    推荐.Net、C# 逆向反编译四大工具利器
    【转】Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】
    【摘】Oracle 11g EM安全证书问题无法访问的解决办法
    MySql 从SQL文件导入
  • 原文地址:https://www.cnblogs.com/liaomengjie/p/11986364.html
Copyright © 2011-2022 走看看