一 | 二 |
---|---|
这个作业属于哪个课程 | C语言程序设计II |
这个作业要求在哪里 | https://www.cnblogs.com/pengchen511/p/10564067.html |
我在这个课程的目标是 | 能够熟练运用C语言进行编程,并能够自己制作一些简单的软件 |
这个作业在那个具体方面帮助我实现目标 | 熟悉break、continue的使用和使用循环的嵌套解决问题 |
参考文献 | https://edu.cnblogs.com/campus/zswxy/SE2019-1/homework/10099 |
1.PTA实验作业
1.1梅森数
本题要求编写程序,对任一正整数n(n<20),输出所有不超过2^n−1的梅森数。
1.1.1数据处理
数据表达:定义变量num,n,i,j,a=0;
数据处理:
for(i=2;i<=n;i++)
num=pow(2,i)-1; //找出所有的2^n-1的数
for(j=2;j<=sqrt(num);j++)
if(num%j==0) break; //判断是否为梅森数
if(j>sqrt(num))
printf("%d\n",num); //输出梅森数
a++;
if(a==0) printf("None"); //无梅森数,输出None
return 0;
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | 3 7 31 | 样例 |
10 | 3 7 31 127 | 举例 |
1.1.4 PTA提交列表及说明
1.部分正确:在循环中未用sqrt函数表示num,导致错误,后加上。
2.部分正确:没输出None,后加上一个判断条件,使None输出。
1.2同构数
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
1.2.1数据处理
数据表达:定义变量:i,j,n=10;
数据处理:
for (i= 1; i <= 1000; i++ ) //限定范围在1000以内
if (i== n) n=n*10;j=ii; //循环到10, 100取十位,百位
if(j % k == i) printf("% 6d",); //输出同构数
return 0;
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 5 6 25 76 376 625 | 样例 |
1.2.4PTA提交列表及说明
1.编译错误:printf后忘记加分号。
2.代码互评
同学代码:
我的代码:
1.我们的代码行数差不多,同学使用了两个for语句进行嵌套,而我是用while语句和for语句进行嵌套。
3.学习总结
3.1学习进度条
日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10.7-10.13 | 7个小时 | 80+ | 编译if-else语句,变量,数据类型不清楚,算术运算与赋值运算 | 无法区分以及中英符号 |
10.14-10.20 | 5个小时 | 90+ | 编译for语句,指定次数的循环程序设计 | 嵌套if-else语句 |
10.21-10.27 | 5个小时 | 140+ | 学习了函数定义 | 函数的区分 |
10.28-11.3 | 6个小时 | 150+ | 学会运用多分支结构、字符型数据类型和逻辑运算符 | 用逻辑运算符表示x为0的几种表达式 |
11.04-11.10 | 5个小时 | 200+ | 熟悉多分支结构switch语句的使用 | 无 |
11.11-11.17 | 6个小时 | 300+ | 熟悉使用while和do-while结构解决问题 | while和do-while结构的一些区别 |
11.18-11.24 | 7个小时 | 100+ | 熟悉break、continue的使用和使用循环的嵌套解决问题 | 无 |
11.25-12.1 | 4个小时 | 100+ | 根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序 | 无 |
3.2累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
3.3.2学习体会
这周学习了如何根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序,使我对C语言的了解更深了,这周的作业也加强了我对
循环嵌套的理解,我觉得很有效而且好用。我相信以后能够学到更多的知识来充实自己。