• C语言I博客作业05


    这个作业属于哪个课程 c语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9827
    我在这个课程的目标是 了解、运用并学会自己编辑c语言
    这个作业在哪个具体方面帮助我实现目标 能帮助我更了解c语言,练习c语言
    参考文献 《c语言程序设计》《提问的智慧》

    1.PTA实验作业

    1.1求组合数

    本题要求编写程序,根据公式C=​n!/​m!(n−m)!
    ​​算出从n个不同元素中取出m个元素(m≤n)的组合数。
    建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。

    1.1.1数据处理

    数据表达:运用了m,n,i,result,sum五个变量,其中result和sum为双精度浮点型变量,其余均为整型变量。
    函数处理:表达式:sum*=i,流程结构:for循环结构。
    函数参数:主调函数:int main(),被调函数:double fact(int N),分别为整型和双精度浮点型,形参为m,n,i,result,sum,实参为N。

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    1 4 4 较小整数
    100 20 184756 较大整数

    1.1.4 PTA提交列表及说明

    提交列表说明:

    浮点错误:printf中的输出函数把%.0lf写成%0f,导致浮点错误。
    答案错误:result表达式中分母部分相乘没打括号。
    答案错误:result表达式括号少打半边。打括号时两边括号都会出现,删除时没注意,多删掉了一个。
    答案错误:没有更正,不小心点了提交。
    部分正确:主函数中忘记返回0。
    部分正确:声明函数用的是整型int。
    部分正确:调用函数仍是整型,忘记改了。

    1.1水仙花数判断

    本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0。

    1.2.1 数据处理

    数据表达:运用了变量N,a,b,c均为整型变量。
    函数处理:表达式:a=N/100; b=N%100/10; c=N%10; 流程结构:if-else选择结构。
    函数参数:主调函数:int main(),被调函数:int func(const int N),均为整型,形参为a,b,c,实参为N。

    1.2.2实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    153 1 题目给出数据
    100 0 最小三位数
    999 0 最大三位数
    666 0

    1.2.4 PTA提交列表及说明

    提交列表说明:

    编译错误:表达式后面没打分号。
    编译错误:忘记打if-else语句后面的“}”了,与声明函数后面的“}”混淆了。
    编译错误:return1后面没加分号。
    运行超时:仿照第二题,多加了一个while语句,导致重复计算,运行超时。

    2.代码互评

    同学代码截图(计科一班彭齐家同学)

    自己代码截图


    1)第一份代码采用了for循环语句,看起来很高级;而第二份代码则使用表达式代替,比较清晰易懂。
    2)第一份代码运用了a,sum,i三个整型变量;第二份 运用了a,b,c三个整型变量作表达式。
    3)第一份代码运用了math的头文件,而第二份没有。

    同学代码截图(计科三班胡青青同学)

    自己代码截图


    1)第二份代码看起来相对较复杂,没有使用pow幂函数,而第二份使用了。
    2)第二份使用了if-else选择语句和while循环语句,而第一份运用的是while循环语句。
    3)第二份使用了两个表达式,而第一份使用了三个表达式。

    3.学习总结

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    4/22~4/26 8h 104 调用函数,形参和实参 while的循环原理

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    这次作业并不算太难,除了PTA上个别题目有些难外,其他的都比较容易完成。像这次博客园,除了思维导图,其他的和我们上次作业没有什么变化。但我完成作业的时间却还是很长,这点还是需要改进。
    还一个就是我做PTA的时候,太不细心了,总是一想到思路就兴奋得马上提交,结果导致编译错误一大堆,反馈到博客园这里就有点惨不忍睹了,以后决不能这样了。
    这次通过做PTA,也收获了很多,从开始不知道怎么动笔,一点一点的研究,到最后完成整个代码,并且调用函数的思路也越来越清晰。唯一很遗憾的是,我有很多运算符不了解,做题总会卡住。
    我百度符号意思时看到的一个比较全面的答案:https://zhidao.baidu.com/question/217975296.html

  • 相关阅读:
    鼠标移到某个对象上,显示小手的形状
    前端开发过程中的一些小知识点总结
    滚动新闻插件vticker
    tab选项卡
    给SqlParameter参数指定或不指定:@变量标识符的区别是什么?
    c# 一个记录日志的通用方法
    DataTable和实体类通过反射相互转换
    通过计算获得一个使用最少量充值卡满足充值额度的方案
    动态规划问题
    DFS排列组合问题
  • 原文地址:https://www.cnblogs.com/xiamudaren1/p/11736316.html
Copyright © 2020-2023  润新知