这个作业属于那个课程 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的更多相关文章

  1. c语言1博客作业10

    一.本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/10101 ...

  2. C语言I博客作业12—学期总结

    一.我学到的内容 二.我的收获(包括我完成的所有作业的链接+收获)不能只有作业链接,没有收获 作业次数 作业链接 第一次 C语言I博客作业01 第二次 C语言I博客作业02 第三次 C语言I博客作业0 ...

  3. c语言1博客作业12-学期总结

    一.我学到的内容 二.收获总结 2.1我的收获 链接: c语言1博客作业01:https://www.cnblogs.com/dy-985211/p/11578914.html c语言1博客作业02: ...

  4. C语言|博客作业10

    问题 回答 C语言 博客作业10 这个作业要求在哪里 作业要求 我在这个课程的目标是 熟练循环语句的用法 这个作业在哪个具体方面帮助我实现目标 pta作业 参考文献 <C语言程序设计> 1 ...

  5. c语言1博客作业02

    c语言1博客作业02 这个作业属于哪个课程 C语言程序设计 这个作业的要求在哪 [作业要求](https://edu.cnblogs.com/campus/zswxy/SE2019-2/homewor ...

  6. C语言l博客作业06

    C语言l博客作业06 问题 回答 这个作业属于哪个课程 C语言程序设计ll 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homew ...

  7. C语言I博客作业01

    C语言I博客作业01 作业1 这个作业属于哪个课程? C语言程序设计I 这个作业要求在哪里? https://edu.cnblogs.com/campus/zswxy/CST2019-2/homewo ...

  8. C语言I博客作业02

    这个作业属于那个课程  C语言程序设计I 这个作业要求在哪 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/8656 我在这个课程的目标 ...

  9. C语言l博客作业05

    问题 回答 这个作业属于哪个课程 C语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9830 我在这 ...

随机推荐

  1. BOOL,int,float,指针变量 与“零值”比较的if语句

    分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var) 解答: BOOL型变量:if(!var) int型变量: if(var==0) float型变量: ...

  2. 从零开始用刚买的阿里云实例搭建lnmp环境(非集成包)

    一.安装前 1. 更新系统软件: yum update 2. 查看是否已安装wget: rpm -qa wget 否则安装: yum install wget 3. 查看是否已安装编译器: rpm - ...

  3. [考试反思]0917csp-s模拟测试45:天命

    又倒一了. 关于心态,有不少想说的. 首先旁边坐了一个kx.他上来入手T1没多久就切了然后开始对拍拍了几十万组AC. 然而我觉得T1是神仙题.先进T2. 挺简单的,5分钟出正解,然后在打出来的时候突然 ...

  4. CSPS模拟 54

    T1    $2^{联通块个数}-2$ T2 $bitset$随便水 T3 分类讨论,讨论,讨论

  5. NOIP模拟 28

    果然昨天和别人合照丢的脸今天都加进RP里了 T3是用了dp快速幂(???),T1,T2考试的时候把想法都写注释了. T1: #include<cstdio> using namespace ...

  6. 数组去重(高效率,ES6才支持)

    //数组去重 function distinct(arr) { let result = []; let obj = {}; for(let i of arr) { if(!obj[i]) { res ...

  7. salesforce lightning零基础学习(十四) Toast 浅入浅出

    本篇参考: https://developer.salesforce.com/docs/component-library/bundle/force:showToast/specification h ...

  8. 使用Samba服务实现文件共享

    1.在虚拟机上安装Samba服务安装包 (在下载之前检查客户机与服务器是否能够ping通) (鼠标右击桌面,打开终端,测试和yum是否能够ping通,下面的命令行是我的yum的IP地址) [root@ ...

  9. Linux下mysql 多实例安装配置

    首先我们要清楚什么是多实例?所谓多实例就是用多个配置文件来启动多个不同端口的进程,以不同的端口的形式为外提供服务.明白了多实例 我们下面的操作和配置就一目了然了首先我们要安装一套基础的应用程序,也就是 ...

  10. RHEL7-Vsftpd匿名用户

    实现:匿名用户创建目录,可以上传.下载文件,但是不可删除文件,禁止本地用户登陆. Vsftpd.conf部分参数 第一步:虚拟机挂载镜像 略 第二步:执行挂载命令 略 第三步:编写yum仓库文件 略 ...