C语言I作业10
问题|答案
-|:-😐-:
这个作业属于哪个课程|C语言程序设计II
这个作业要求在哪里|作业链接
我在这个课程的目标是|能够熟练运用C语言,能够自己制作一些简单的软件
这个作业在那个具体方面帮助我实现目标|复习了多种语法的使用
参考文献|C语言程序教材,百度
1.1梅森数
形如2n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。本题要求编写程序,对任一正整数n(n<20),输出所有不超过2n−1的梅森数。
1.1.1数据处理
数据表达:设置了x,n,i,j,count等几个变量,由题目含义给出的变量,均为整型变量
数据处理:
伪代码
‘#include<stdio.h>’
int main()
{
int x,n,i,j,count=0; //由题目意思设置变量//
scanf("%d",&n); //输入n的值//
for(i=2;i<=n;i++) //确定i的范围,使用for循环语句开始计算//
{
x=pow(2,i)-1; //由n的值确定一个数//
for(j=2;j<=sqrt(x);j++) //使用for循环语句将范围内的数一一循环//
if(x%j0) //判断除了1和本身是否还有能被整除数//
break; //跳出循环//
if(j>sqrt(x))
{
printf("%d\n",x); //输出梅森数//
count++; //计算梅森数的数量//
}
}
if(count0) //没有梅森数就输出None//
printf("None");
return 0;
}
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | 3,7,21 | 题目例题 |
3 | 3,7 | 随机测试 |
1.1.4PTA提交列表及说明
1.编译错误:先是有个分号忘记打,然后发现输出里面的那个分号忘记打了。
2.答案正确:尝试了很多遍,把错误一一找出。
1.2同构数
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
1.2.1数据处理
数据表达:设置了i,n等几个变量,由题目意思给出,均为整型变量。
数据处理:
伪代码
‘#include<stdio.h>’
int main()
{
int i, n ;
n=1000; //设置n的值,确定i的范围//
for (i=1;i<=n;i++) //使用for循环语句开始测试范围内的所有数//
if (ii%10==i||ii%100i||i*i%1000i) //判断是否是同构数。i*i是i的平方,%10是取个位上的数//
printf ("%6d",i); //输出范围内的所有同构数//
return 0;
}
1.2.2实验代码截图
输入数据 | 输出数据 | 说明 |
---|---|---|
1000 | 1 5 6 25 76 376 625 | 题目给出的数据 |
500 | 1 5 6 25 76 376 | 随机数据 |
1.2.4 PTA提交列表及说明
1.编译错误:没打括号。
2.答案错误:先打了一个n<1000.没有确定n的值。
3.答案正确:找到错误然后改正。
2、代码互评
同学代码
我的代码
- 他的代码设置了六个变量而我的代码只设置了两个变量。
- 我们的代码使用了for循环语句但是他的代码还使用了while语句和if语句。相比较他的更复杂。。
- 要学好去思考更好的方法,好的方法可以节约很多的时间。要学会去学习别人的方法,思考自己的代码有什么不足,有什么可以进步的地方,这样才能进步。
3、学习总结
3.1 学习进度条
日期 | 这周所花时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/7--10/13 | 7个小时左右 | 70左右 | if-else语句,算术运算和赋值运算 | 有些代码的含义和一些函数的含义 |
10/14--10/20 | 8个小时左右 | 200行左右 | for循环语句的使用 | 对for循环结构和if-else语句的使用不太熟练 |
10/21--10/27 | 6个小时左右 | 120行左右 | 定义函数与调用 | 对函数的使用还不太熟练 |
10/28--11/3 | 8个小时左右 | 250行左右 | 学习程序解析和多分支else-if语句 | 用太多if-else会比较混乱 |
11/4--11/8 | 9个小时左右 | 230行左右 | 学习多分支结构switch语句的使用 | 大问题没有,就是总会粗心漏打或打错 |
11/9--11/14 | 9个小时左右 | 250行左右 | 学习while和do-while语句的使用 | 对do-while语句还不太理解 |
11/15--11/22 | 7个小时左右 | 240行左右 | 学习break语句和continue语句 | 对continue语句还不太熟练 |
11/23--11/29 | 8个小时左右 | 260行左右 | 练习更高难度的题目 | 发现自己还有很多地方都不熟练 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
- 已经学习这个有一段时间了,已经学过的东西还是有很多不太理解,尤其是PTA有时候一道题就是一个多小时。但是越是去深入的学习越是能感受到其中的魅力。想要学好这
一门,我必须要付出更多的时间。我相信一定能学好。 - 想要学好这一门就要经常去练习,熟能生巧。还可以自己去找题目做,在不断的练习中会逐渐进步。
- 有时候发现发现别人的代码比自己的简短好多,才发现自己还有很多的不足,要多向别人学习,取长补短。
- 学习的难度越来越大,感到有些吃力,这周所花费的时间减少了导致熟练度下降。
- 由于这周在忙其他的事,导致在学习方面花费的时间减少了。并且快要期末了,必须要多花费些时间在作业上