C语言I博客作业10

这个作业属于哪个课程 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实验代码截图

C语言I博客作业10_第1张图片

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实验代码截图

C语言I博客作业10_第2张图片

1.2.3造测试数据

输入数据 输出数据 说明
1 5 6 25 76 376 625 样例

1.2.4PTA提交列表及说明


1.编译错误:printf后忘记加分号。

2.代码互评

同学代码:

C语言I博客作业10_第3张图片

我的代码:

C语言I博客作业10_第4张图片
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累积代码行和博客字数

C语言I博客作业10_第5张图片

3.3学习内容总结和感悟

3.3.1学习内容总结

C语言I博客作业10_第6张图片

3.3.2学习体会

这周学习了如何根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序,使我对C语言的了解更深了,这周的作业也加强了我对
循环嵌套的理解,我觉得很有效而且好用。我相信以后能够学到更多的知识来充实自己。

你可能感兴趣的:(C语言I博客作业10)