问题 |
答案 |
这个作业属于那个课程 |
C语言程序设计II |
这个作业要求在哪里 |
作业链接 |
我在这个课程的目标是 |
灵活使用C语言 |
这个作业在那个具体方面帮助我实现目标 |
继续复习上周知识 |
参考文献 |
C语言程序设计(第3版)、百度 |
1.PTA实验作业(20分/题)
1.1.7-3 梅森数 (20 分)
题目:
形如2n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的 一记录。
本题要求编写程序,对任一正整数n(n<20),输出所有不超过2n−1的梅森数。
1.1.1数据处理
数据表达:首先定义四个整型变量,i,n,a,b,然后用for循环分情况进行对n的判断,用if语句判断是否是素数,用s代表是或者不是,然后输出
伪代码
Begin
if(n==1的情况)
输出(none)
for(n大于2,累加)
b=pow(2,a)-1//表示2的几次方减1
for(累加出一个数的范围)
if(判断在区间内是否有数能被整除)
输出
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
6 |
3 7 31 |
题目数据 |
12 |
3 7 31 127 |
随机值 |
15 |
3 7 31 127 8191 |
随机值 |
1.1.4 PTA提交列表及说明
部分正确:判断素数是写了<=b,改成<=b/2,就可以了
部分正确:少判断n==1的情况了,加上n==1就行了
1.2 7-4 同构数 (10 分)
题目:
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
输出格式:
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
输出样例:
1 5 6 25 76 376 625
1.2.1 数据处理
数据表达:定义一个整型变量i,用for循环累加,然后用if语句判断输出结果即可
伪代码
Begin
for(i=1;i<=1000;i++)//for循环进行循环累加
if(等式成立条件)
成立输出即可
end
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 |
输出数据 |
说明 |
无 |
1 5 6 25 76 376 625 |
题目结果 |
1.2.4 PTA提交列表及说明
格式错误:输出格式错了,将%6d打成%d,改正即可
2.代码互评(5分)
自己代码
同学代码
同学代码
不同点:
第二位:我用的是整型,他用的是long,其他差不多,然后他将a*a赋值给了b,这样后面表达简单
第二位:第二位同学的比较复杂,其实他的语句可以用一个语句写出来,就差不多跟我一样,简单
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
第一周 |
2小时 |
49 |
Markdown语法 |
\n,表示的是什么 |
第二周 |
2小时 |
68 |
华氏温度的转换 |
数据类型搞不懂 |
第三周 |
4小时 |
89 |
if-else从句 |
怎么缩进程序代码 |
第四周 |
3小时 |
135 |
for的循环语句 |
怎么对变量赋值 |
第五周 |
3小时 |
140 |
基本的定义函数 |
实参,形参分不清 |
第六周 |
4小时 |
167 |
嵌套语句,if-else的分支结构 |
问题太多了 |
第七周 |
3.5小时 |
160 |
switch语句 |
switch语句中能不能有范围存在 |
第八周 |
4小时 |
166 |
while,do-while语句 |
while语句与for语句的转换 |
第九周 |
4小时 |
180 |
break语句跟continue的区别 |
continue语句的循环 |
第十周 |
3小时 |
155 |
复习上周的循环嵌套 |
怎么判断什么时候是内外循环 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.2 学习体会
感觉这周的题目说难也不难,只要找到思路,然后解题时细心点还是可以解决的,就是感觉第一题挺难的,所以其实这周的作业挺容易完成的,但是由于期末了,这周的事挺多的,有点忙不过来解所以 写的很晚,以后还是加油,先把专业作业写完。