C语言I博客作业10
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095 |
我在这个课程的目标是 | 熟练地掌握运用C语言,锻炼思维逻辑能力,为以后其他语言的学习打好基础. |
这个作业在那个具体方面帮助我实现目标 | 学习循环结构程序设计与用穷举法解决问题 |
参考文献 | 《C语言程序设计》《C Primer Plus》百度百科 伪代码基本写法 |
1.PTA实验作业
1.1输出三角形字符阵列
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列.
输入格式:输入在一行中给出一个正整数n(1≤n<7).
输出格式:输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格.
1.1.1数据处理
数据表达:用了变量letter,i,j,n.letter通过赋值得到,n通过直接输入得到,i,j作为循环控制变量.letter类型为字符型,i,j,n全为整型.
数据处理:letter表示大写字母,i,j作为循环控制变量,n表示输入的正整数.
所用表达式:letter='A';letter=letter+1;
流程结构:
Begin
输入一个正整数n
for i←1 to n
{
for j←i to n-i+1
{
printf("%c ",letter);
letter←letter+1
}
printf("\n");
}
End
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | 使用题目数据 | |
1 | A | 使用最小n |
6 | 使用最大n | |
2 | 随机n |
1.1.4 PTA提交列表及说明
1.编译错误:int main()写成了int mian()编译错误:定义的函数名在调用时,函数名拼写错误
2.格式错误:输出格式有误,应将printf("%c",letter);改为printf("%c ",letter);.
1.2梅森数
形如2n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231-1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。本题要求编写程序,对任一正整数n(n<20),输出所有不超过2n−1的梅森数。
输入格式:输入在一行中给出正整数n(n<20).
输出格式:按从小到大的顺序输出所有不超过2^n−1的梅森数,每行一个。如果完全没有,则输出“None”.
1.2.1数据处理
数据表达:用了变量i,j,n,item,count.n通过直接输入得到,item,count的通过赋值得到,类型全为整型.
数据处理:n表示输入的正整数,i,j表示循环控制变量,item表示for循环中每一项的值,count表示梅森数的个数.
所用表达式:count=0;item=pow(2,i)-1;item%j0;count++;count0;
流程结构:
Begin
输入正整数n
for i←2 to n
{
item←pow(2,i)-1
for j←2 to sqrt(item)
{
if(item%j==0)
break;
if(j>sqrt(item))
{
printf("%d\n",item);
count++;
}
}
if(count==0)
printf("None");
End
1.2.2试验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | 3 7 31 | 使用题目数据验证 |
1 | None | 使用最小n |
19 | 3 7 31 127 8191 131071 524287 | 使用最大n |
4 | 3 7 | 随机值n |
1.2.4PTA提交列表及说明
1.部分正确:没有考虑到完全没有梅森数的情况,少了if(count==0)printf("None");.
1.3同构数
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数.
输入格式:在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符.
输出格式: 1 5 6 25 76 376 625
1.3.1数据处理
数据表达:用了变量i;类型为整型.
数据处理:i是循环控制变量.
所用表达式:ii*i%10||iii%100||i==ii%1000;i=1;i++;
流程结构:
Begin
for i←1 to 1000
{
if(i==i*i%10||i==i*i%100||i==i*i%1000)
printf("%6d",i);
}
End
1.3.2实验代码截图
1.3.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
无 | 1 5 6 25 76 376 625 | 使用题目数据 |
1.3.4PTA提交列表及说明
2.代码互评
我的代码:
同学(1)的代码:
代码差异:
1.在判定是否是素数的for语句的语句二不同,我的是for(j=2;j<=sqrt(item);j++);而同学(1)的是for(j=2;j<=number/2;j++);
2.在判定是否有梅森数时所用条件语句不同,我定义了flag=0;当没有一个梅森数时flag0,printf("None");而同学(2)定义了count=0;当有梅森数时就递增1;当count0时,printf("None");
我的代码:
同学(2)的代码:
代码差异:
1.由于我通过计算已知n=1时,没有梅森数,所以我没有表明n=1的情况,而同学(2)表明了n=1的情况,思路更加清晰.但n=2的情况与下面的for语句重复了,可以删去.
2.我运用了for循环的嵌套,而同学(2)是for循环中加入一个while语句,表达方式不同.
3.由于同学(2)先将n=1时列举出来了,可以不添加一个flag=0或者count=0去区别.
3.学习总结
3.1学习进度条
周数/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较疑惑的问题 |
---|---|---|---|---|
第三周(10/08--10/12) | 12个小时 | 300行左右 | 定义函数,if-else,for循环语句 | 输入与输出格式,空语句 |
第四周(10/14--10/18) | 15个小时 | 250行左右 | for循环语句,基础的循环程序设计,数据的输出宽度 | 数据的输出宽度概念不太清晰,表达式的定义,空语句的定义 |
第五周(10/23--10/26) | 12个小时 | 350行左右 | 自定义函数的声明与调用,break跳出循环,while()循环语句 | 自定义函数的应用 |
第六周(10/30--11/01) | 18个小时 | 500行左右 | if-else的嵌套,学习逻辑运算,条件语句,字符类型以及字符型数据的输入与输出 | 对字符型数据的输入与输出了解太少,缺乏练习,没有理解到getchar()字符输入函数与putchar()字符输出函数以及它们的运用 |
第七周(11/05--11/07) | 24个小时 | 720行左右 | 使用switch语句的三种情况,在switch语句中使用break语句,数组的定义与使用 | continue语句的使用,for语句的嵌套循环 |
第八周(11/12--11/15) | 19个小时 | 810行左右 | 学习使用while和do-while语句实现次数不确定的循环,使用break语句处理多循环条件,以及了解while,do-while,for三种语句的差异 | ASCII码和char类型和int类型的转换,进制数转化的多种方式 |
第九周(11/19--11/21) | 16个小时 | 600行左右 | 学习了for循环的嵌套以及了解break语句和continue语句的用法和区别 | 静态数组和动态数组的区别 |
第十周(11/26--11/28) | 17个小时 | 680行左右 | 使用穷举法解决问题 | 当存在数据溢出情况时,数据的定义与取值范围选取 |
3.2累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
3.3.2学习体会
在本次作业完成过程中,我产生了一个[errror]Id returned 1 exit status错误,这是我之前从来没有看见过的错误,经过代码分析,我发现是我的int main()错打成为int mian()而导致的错误,在网上百度这个错误点时,发现该错误可能有如下原因:
1.库函数拼写错误。如:printf,scanf,等
2.定义的函数名在调用时,函数名拼写错误
3.在执行函数时可能函数体本身的问题
4.可能有程序正在运行
此外,在pta刷题经常遇见数据溢出的情况,当发生整型数据溢出时就要考虑换整型变量符号.还有一个问题就是----就我而言,我对于ASCII码的运用与计算太过于生疏.
C语言I博客作业10的更多相关文章
- c语言1博客作业10
一.本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/10101 ...
- C语言I博客作业12—学期总结
一.我学到的内容 二.我的收获(包括我完成的所有作业的链接+收获)不能只有作业链接,没有收获 作业次数 作业链接 第一次 C语言I博客作业01 第二次 C语言I博客作业02 第三次 C语言I博客作业0 ...
- c语言1博客作业12-学期总结
一.我学到的内容 二.收获总结 2.1我的收获 链接: c语言1博客作业01:https://www.cnblogs.com/dy-985211/p/11578914.html c语言1博客作业02: ...
- C语言|博客作业10
问题 回答 C语言 博客作业10 这个作业要求在哪里 作业要求 我在这个课程的目标是 熟练循环语句的用法 这个作业在哪个具体方面帮助我实现目标 pta作业 参考文献 <C语言程序设计> 1 ...
- c语言1博客作业02
c语言1博客作业02 这个作业属于哪个课程 C语言程序设计 这个作业的要求在哪 [作业要求](https://edu.cnblogs.com/campus/zswxy/SE2019-2/homewor ...
- C语言l博客作业06
C语言l博客作业06 问题 回答 这个作业属于哪个课程 C语言程序设计ll 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homew ...
- C语言I博客作业01
C语言I博客作业01 作业1 这个作业属于哪个课程? C语言程序设计I 这个作业要求在哪里? https://edu.cnblogs.com/campus/zswxy/CST2019-2/homewo ...
- C语言I博客作业02
这个作业属于那个课程 C语言程序设计I 这个作业要求在哪 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/8656 我在这个课程的目标 ...
- C语言l博客作业05
问题 回答 这个作业属于哪个课程 C语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9830 我在这 ...
随机推荐
- 前端技术之:JSON.stringfy详细说明
JSON.stringify() 语法JSON.stringify(value[, replacer[, space]]) value 被序列化为字符串的对象 replacer 根据类型不同,其行为也 ...
- 我对C++开发人员有偏见
前言 我确实对C++开发人员有一些偏见,我也知道对一类人有偏见是不正确的行为:但,在我所处的三线城市的环境中,我对C++开发有偏见并非是一件不正确的事,因为C++开发都是变态这件事,根本就是客观事实. ...
- 详解SpringBoot应用跨域访问解决方案
一.什么是跨域访问 说到跨域访问,必须先解释一个名词:同源策略.所谓同源策略就是在浏览器端出于安全考量,向服务端发起请求必须满足:协议相同.Host(ip)相同.端口相同的条件,否则访问将被禁止,该访 ...
- Redis中的键值过期操作
1.过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key 在 n 秒后过期: pexpire key milliseconds:设置 key ...
- 大数据之路week01--自学之集合_2(Iterator迭代器)
选代器:是遍历集合的一种方式.迭代器是依赖于集合而存在的.我有一个集合: Collection c = new ArrayList();我们给集合中添加元素: c. add("hello' ...
- 在linux用ueditor遇到的问题
在使用ueditor时,遇到很多问题.最大问题是就是服务器返回出错 最让人头疼的是preview没有任何信息.之前也找过很多的资料,很多资料都没有提到修改controller.php文件中error_ ...
- PHP获取图片每个像素点
PHP获取图片每个像素点<pre> $i = imagecreatefromjpeg("test.jpg"); //图片路径 for ($x = 0; $x < ...
- redis 数据库主从不一致问题解决方案
在聊数据库与缓存一致性问题之前,先聊聊数据库主库与从库的一致性问题. 问:常见的数据库集群架构如何? 答:一主多从,主从同步,读写分离. 如上图: (1)一个主库提供写服务 (2)多个从库提供读服务 ...
- [视频演示].NET Core开发的iNeuOS物联网平台,实现从设备&PLC、云平台、移动APP数据链路闭环
目 录 1. 概述... 1 2. 登陆信息... 2 3. 设备驱动... 3 4. 组态建模... 3 5. 手机APP. 5 6. ...
- 从EFCore上下文的使用到深入剖析DI的生命周期最后实现自动属性注入
故事背景 最近在把自己的一个老项目从Framework迁移到.Net Core 3.0,数据访问这块选择的是EFCore+Mysql.使用EF的话不可避免要和DbContext打交道,在Core中的常 ...