• C语言I博客作业09


    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11530
    这个作业目标 灵活运用函数
    学号 20208923

    1.PTA实验作业

    1.1 符号函数

    题目内容描述
    其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) = 1;若x等于0,sign(x) = 0;否则,sign(x) = −1。

    1.1.1数据处理

    数据表达:自定义函数sign.
    数据处理:定义变量,输入变量,if语句,for循环,跳出循环,输出数据。
    

    1.1.2实验代码截图

    1.1.3造测试数据

    输入数据 输出数据 说明
    10 sign(10)=1 >0
    0 sign(0)=0 =0
    -1 sign(-1)=-1 x<0

    1.1.4PTA提交列表及说明

    Q1.编译错误
    A1.使用了中文符号,忘记输出
    Q2.答案部分正确。
    A2.一开始的代码是在if语句里的内容是sign(x)= 0、sign(x)= 1、sign(x)= -1.然后return sign(x)。它显示的就是答案错误。因为return 返回的值就是这个函数所得到的结果,所以可以在每个if后返回值。

    1.2 7-2 特立独行的幸福 (25分)

    对一个十进制数的各位数字做一次平方和,称作一次迭代。如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数。1 是一个幸福数。此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100,最后得到 1。则 19 就是幸福数。显然,在一个幸福数迭代到 1 的过程中经过的数字都是幸福数,它们的幸福是依附于初始数字的。例如 82、68、100 的幸福是依附于 19 的。而一个特立独行的幸福数,是在一个有限的区间内不依附于任何其它数字的;其独立性就是依附于它的的幸福数的个数。如果这个数还是个素数,则其独立性加倍。例如 19 在区间[1, 100] 内就是一个特立独行的幸福数,其独立性为 2×4=8。

    另一方面,如果一个大于1的数字经过数次迭代后进入了死循环,那这个数就不幸福。例如 29 迭代得到 85、89、145、42、20、4、16、37、58、89、…… 可见 89 到 58 形成了死循环,所以 29 就不幸福。

    本题就要求你编写程序,列出给定区间内的所有特立独行的幸福数和它的独立性。

    输入格式:
    输入在第一行给出闭区间的两个端点:1<A<B≤10
    ​4
    ​​ 。

    输出格式:
    按递增顺序列出给定闭区间 [A,B] 内的所有特立独行的幸福数和它的独立性。每对数字占一行,数字间以 1 个空格分隔。
    如果区间内没有幸福数,则在一行中输出 SAD。

    输入样例 1:10 40
    输出样例 1:
    19 8
    23 6
    28 3
    31 4
    32 3
    注意:样例中,10、13 也都是幸福数,但它们分别依附于其他数字(如 23、31 等等),所以不输出。其它数字虽然其实也依附于其它幸福数,但因为那些数字不在给定区间 [10, 40] 内,所以它们在给定区间内是特立独行的幸福数。

    输入样例 2:110 120
    输出样例 2:SAD

    数据表达:
    变量m,n,c,i,j:变量为整型,由赋值得来。
    流程结构:定义变量,输入变量,while语句,if语句,for循环,输出数据
    

    1.2.2实验代码截图

    1.2.3造测试数据

    输入数据 输出数据 说明
    110 170 SAD 区间没有幸运数字
    190 110 SAD 区间没有幸运数字
    110 120 SAD 区间内没有幸运数

    1.2.4PTA提交列表及说明

    Q1.编译错误。
    A1.使用了中文字符。
    Q2.编译错误。
    A2.忘记输出。

    2.代码互评

    同学代码1:

    同学代码2:

    自己代码:
    不同:
    1.定义的变量不同。
    2.第一位同学使用了switch语句,逐个读取存储,而我使用了下标读取存储。
    3.第二位同学使用了flag作为标识和返回值,使得代码更严谨,

    3.学习总结

    3.1学习进度条

    时间/周 这周所花时间 代码行 学到的知识点简介 目前比较困惑的问题
    第八周 14时 190 基本结构,会编写简单的程序 老是忘记打分号
    第九周 15时 190 华氏温度转化为摄氏温度,算数运算喝赋值运算 如何灵活运用
    第十周 12时 185 计算分段函数、循环和阶乘 逻辑理不清楚
    第十一周 13时 200 自定义函数 不熟练,不看书就不会
    第十二周 15时 300 if-else语句、分支结构 如何使自己的代码更简洁
    第十三周 16时 450 switch语句 学会灵活运用
    第十四周 18时 890 while和do while语句 没学的太明白
    第十五周 16时 800 跳出语句 如何灵活运用
    第十六周 15时 700 函数 如何灵活运用

    3.2累积代码行数和博客字数

    3.3学习内容总结和感悟

    3.3.1学习内容总结

    3.3.2学习感悟

    PTA的题目还是和往常一样难且不会,每周都要被C语言折磨,如果我有罪请让法律制裁我,而不是PTA!

  • 相关阅读:
    C#输出JS代码封装类Alart
    我的汇编学习之路(2)win8(64位)下安装debug
    .NET使用一般处理程序生成验证码
    ?运算符(null合并运算符)和三木运算符
    讲解:小菜鸟自制的.NET实体类生成器
    我的汇编学习之路(1)进制转换
    未来
    callee,caller区别
    string::size_type
    ubuntu 12.04 LTS u盘安装
  • 原文地址:https://www.cnblogs.com/cjyzhk/p/14166346.html
Copyright © 2020-2023  润新知