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!