问题 | 答案 |
---|---|
这个作业属于哪个课程 | C语言程序设计 |
这个作业的要求在哪里 | 作业要求 |
我在这个课程的目标是 | 熟悉掌握c语言程序设计基本使用方法 |
这个作业在那个具体方面帮助我实现目标 | 熟悉代码程序设计,熟悉使用for循环语句,字符型变量的使用。 |
参考文献 | 《PTA程序设计类实验平台》百度百科,WPS office,《简书》,Xmind思维导图,dev c++,知乎,CSDN等 |
一.PTA实验作业
1.1输出三角形字符阵列!
1.1.1数据处理
(1.)数据表达:定义了c,J,N的整型变量,定义了cj的字符变量。定义整型变量C代表行,定义整型变量J代表一行中的字符个数。
(1.)数据处理:使用了for(c=i;c<=N;c++)循环语句来确定是第几行和for(j=1;j<=N;j++)的循环语句来确定一行中的字符个数。
(3.)函数处理:运用int main()的主调函数。
int c,j,N;//定义输入的整数N代表输出有几行,C为行,J为一行中有多少个字符个数。
char cj;//定义字符型变量cj。
scanf("%d",&N)//输入N。
cj=‘A’//给字符变量赋值。
do for(C=1;C<=n;C++)//进行for(初值 ;条件;递增)来进行几行
{
for(J=1;J<=C;J++)//嵌套列的for循环,确定这一行中输出多少个字符。
{
输出printf("%c ,"cj)//输出字符变量,注意格式要空格。
cj++;//字母自加。
}printf(" ");//输出格式依次换行。
END
1.1.2实验代码截图
1.1.3造测试数据
输入 | 输出 |
---|---|
4 | |
6 | |
5 |
1.1.4PTA提交列表及说明
1.答案错误:尝试编写,在dev c++上编译无错误,但是运行不了是个空白的。
2.答案错误:不知道哪里错误,printf(" ")的位置放错误。
3.答案错误:要把定义字符变量写在scanf的前面。
4.答案错误:第一个for循环中的C<=N错写成C<=n,说明细节很重要。
5.答案错误: for循环后面少了个括号。
6.格式错误:在输出字符型变量printf("%c ",cj)时没有打空格。
1.2 7-4 同构数
1.2.1数据处理
(1.)数据表达:设置了题目给定整型变量i。
(2.)数据处理:因为1<=n<=1000,同构数的定义是一个数恰好出现在它的平方数的右端。分情况处理,分19,1099,100~999三个部分来分别平方后再去余数。格据平方后得到的位数不同,取余数分别用%10,%100,%1000,运用for循环让i自加后,再用if语句。
(3.)函数处理:运用了int main()的主调函数。
Int i;//i为同构数。
for(i=1;i<=1000;i++)//让i自加,从1加到1000。
{
if(i>=1&&i<=9)//分情况,1~9的平方是小于三位数的归为一类。
{
if(i((i*i)%10))//平方后取余。
printf("%6d",i);//根据题目要求的格式输出。
}
if(i>=10&&i<=99)//分情况,10~99的平方是小于五位数。
{
if(i(ii)%100)//取余
printf//输出。
}
if(i>=100&&i<=999)//分情况,100~999平方是小于七位数
{
if(i==(ii)%1000)//取余。
printf//输出
}
END
1.2.2实验代码截图
1.2.3造测试数据
1.2.4PTA提交列表及说明
1.编译错误:三个printf后面忘记打分号,在dev c++上编译发现。
2.答案错误:一开始定义了两个变量,后来发现不需要。导致运行出来的结果全部是1。
3.编译错误: 通过调试在if(i==((i*i)%10))中少打了一个错误。
4.编译错误:一般是在dev c++上编译成功且答案正确后去PTA c+v,少复制了一个括号,导致return 0;的位置放错。
二.代码互评论
我的代码
同学代码
区别
(1)我的思路是分情况处理,分19,1099,100~999三个部分来分别平方后再去余数。格据平方后得到的位数不同,取余数分别用%10,%100,%1000,运用 for循环让i自加后,再用if语句。这两个同学的思路都是一样的,都是直接运用逻辑语句把我分的三种情况综合成一个if条件语句。
(2)相比之下我的代码看起来很多有点小复杂,但其实这又是一个很简单的题目。他们的代码非常的简单还是很用心的。
感悟
(1)互评代码的好处就是能够在同一个题目中,学习到不同的解题方法。一般情况下感觉我每次想的方法都不如同学想的简单,这是我要学习的地方。
(2)也会在这个过程会发现有时候读不懂同学的代码,就会去百度,又可以加深对知识点的认识。
三.学习
3.1学习进度条
周期/日期 | 这周所花时间 | 代码行 | 学习到的知识点介绍 | 目前比较迷惑的问题 | 解决方式 |
---|---|---|---|---|---|
第一周 | 一个中午左右 | 20行左右 | 第一次使用博客园以及接触PTA | 对于这门课程属于懵懂状态,仅仅只能明白字面意思。 | 网上百度查询相关课程资料 |
第二周 | 两个中午左右 | 30行左右 | 学会《智慧的提问》以及简单的代码数据分析 | 对于课程依旧陌生,但有了新的认识。 | 看c语言教材书籍 |
第三周 | 两天左右 | 90行左右 | 学习了if-else语法,赋值运算,阶梯价位计算等 | 遇到复杂的编程问题不知道如何开始。 | 在b站,慕课等平台观看零基础C语言入门课程 |
第四周 | 两天左右 | 一两百行左右 | 学会"for"循环语句的基本转换方法以及如何对自己的代码进行调试错误 | 对于整个程序编码设计流程还不够熟练,不能完全独立完成,总是要寻求同学老师的帮助 | 反复编译同一个题目,直到理解此题流程 |
第五周 | 三天左右 | 一两百行左右 | 学会调用函数的使用,求函数阶层等 | 对于整个程序编码设计流程还不够熟练,不能完全独立完成,总是要寻求同学老师的帮助 | 观看网课 |
第六周 | 三天左右 | 两百多行 | 学会熟悉多分支结构、字符型数据类型和逻辑运算符 | 在每次写PTA时寻找错误要找很久,更正很多遍才能正确,但相比以前构思时思路清楚很多 | 记忆逻辑运算符,字符型数据类型等字符 |
第七周 | 两天左右 | 两百行左右 | 学会使用swtich分支语句的使用,此次PTA作业都是用swtich语句编写 | 在构思PTA作业时不能很快就清楚题目思路是什么,每个题目花的时间太久了 | 询问同学的构思方法,加以学习。 |
第八周 | 一两天 | 两百多行 | 熟悉使用while和do-while结构解决问题 | 还是相同的摸不到思路的问题,很多时候不知道如何开始编写 | 花更多的时间去学习。 |
第九周 | 两天 | 一两百行 | 学会熟悉使用break语句与continue语句,分清楚两者之间的联系和区别 | 感觉PTA一次比一次难琢磨,现在有点害怕写PTA了学的东西越来越多,自我觉得学的不怎么样 | 脚踏实地的去认真研究,花时间是重点。 |
第十周 | 一两天 | 一百多行 | 本周没有学习新的知识,写PTA用到了字符型变量,老师对本个章节进行了总结。两位助教为我们讲解了他们的写题思路学到了一些。 | 学的东西越来越多就容易搞混淆 | 多练多写多看书! |
3.2累积代码行和博客字数
3.3学习内容总结
3.3.1感悟
- 学习C语言这个课程也差不多有一个学期了,本学期的教学也接近尾声了,C语言真的是一个又有趣又让人抓狂的课程,但作为初学者的我感觉自己的水平还是很水的,对于很多知识的理解都不透彻,很担心期末考试。
- 本周助教为我们展示了他们的做题放法和思路,确实对我这次的PTA作业构思是有一点效果的。
- 学习了这么久,在敲代码的时候总是会反复的犯一些相同的错误,比如忘记打分号什么的这些一些小细节,还是要反复的多去练习,慢一点去细心。