C语言I博客作业10
问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | 作业链接 |
我在这个课程的目标是 | 学会并掌握C语言基本知识,能够相关C语言的各种代码 |
这个作业在那个具体方面帮助我实现目标 | 进一步学习循环的嵌套 |
参考文献 | C语言程序设计(第3版)、百度、360浏览器 |
1.PTA实验作业(20分/题)
1.1 7-8 输出三角形字符阵列 (15 分)
题目内容描述:本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。输入格式:输入在一行中给出一个正整数n(1≤n<7)。输出格式:输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
1.1.1数据处理
数据表达:本题用了i、j、n、count和字符型变量ch;其中n是用scanf函数来赋值,i、j是循环中间变量,首先都赋一个初始值,然后累加,对于count,首先把输入的n值赋值给count,然后在后面循环依次递减,而ch是通过累加1来输出字母,出来ch是字符型,其他的都是整型;
数据处理:
伪代码:
Begin(算法开始)
if n小于7
{
count←n
for(j←1;j<=count;j++)
{
输出字符
ch++
}
换行
count--
}
}
End(结束)
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | ![]() |
使用题目所给数据 |
5 | ![]() |
随机值 |
6 | ![]() |
随机值 |
7 | ![]() |
超出范围值 |
1.1.4 PTA提交列表及说明
提交列表说明:
1.答案错误:后面用了count而前面没有定义count而导致出错;
solve:在定义变量时加上count;
2.答案正确:通过修改答案正确。
1.2 7-4 同构数 (10 分)
题目内容描述:一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。输出格式:在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
1.2.1 数据处理
数据表达:本题用了i、n这两个变量,其中i作为循环变量,n用来接收i的平方的值,它们都是整型变量;
数据处理:
伪代码:
Begin(算法开始)
for(i←; i<=100;i++)
{
n←i的平方的值
if i等于n除以10的余数
{
输出i的值
}
if i等于n除以100的余数且n不等于1
{
输出i的值
}
if i等于n除以1000的余数且n不等于1
{
输出i的值
}
End(算法结束)
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
无 | ![]() |
无需输入数据 |
1.2.4 PTA提交列表及说明
提交列表说明:
1.答案错误:在if(i==n%1000&&n!=1)中,我一直写到if(i==n%1000000&&n!=1)而导致出错;
solve:用DEV一步步调试,检查逻辑错误(其实就是一步步缩小n求余的除数);
2.格式错误:在输出是空格出错误;
solve:通过仔细审核题目,发现输出的空格不同,然后减少到题目所需的空格数;
3.答案正确:通过多次修改答案正确。
2.代码互评(5分)
同学代码截图
自己代码截图
不同之处:
1.第一个同学定义变量用的是long型,而我用的是int型(整型),在表达一个数是否恰好出现在它的平方数的右端时,我分了3个if语句,而他只用了一个if语句。表达输出空格方式也不同;
2.第二个同学代码很简洁,在表达一个数是否恰好出现在它的平方数的右端时的表达方式不同,输出方式也不同。
3.学习总结(15分)
3.1 学习进度条(5分)
周 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周(9/17-9/22) | 5小时 | 43行 | 学会写最简单的代码 | 无 |
第二周(9/24-10/4) | 6小时 | 62行 | 学会温度转换 | 无 |
第三周(10/6-10/13) | 11小时 | 86行 | 学会写函数程序 | 不知道怎么在什么情况下调用scanf()函数 |
第四周(10/14-10/20) | 10小时 | 105行 | for循环语句和循环结构 | 不知道定义多少个变量 |
第五周(10/21-10/27) | 10.5小时 | 114行 | 学会怎样去定义一个函数和它的基本格式 | 对于函数题的编程不知道该怎么样去设计 |
第六周(10/28-11/3) | 12小时 | 135行 | 学会二分支结构和if-else语句 | 对于输入一个正整数,然后输入对应数量的数值的代码编写存在迷惑 |
第七周(11/4-11/10) | 13.5小时 | 173行 | 学会怎样用switch简化代码的复杂性 | 使用switch语句时怎么能够很好的与其他语句很好的衔接 |
第八周(11/11-11/17) | 10小时 | 157行 | 学会使用do-while语句和while语句 | while后面的循环结束执行条件该如何判定 |
第九周(11/18-11/24) | 9小时 | 125行 | 学会怎样去写一个关于嵌套循环的代码 | 怎么样区分一行输出几个和输出几行 |
第十周(11/25-12/1) | 11小时 | 167行 | 进一步温习嵌套循环的使用 | 对于怎么理清内循环和外循环的循环语句和条件 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
本周我们温习了上周所学的嵌套循环,并进行进一步巩固与加深,加强我们对条件的审判,如何进行内循环和外循环的条件设置。
3.3.2 学习体会
本周的PTA作业既不简单,也不很难,主要是我对于条件复杂的题目不知道如何去很好的编写代码。还要就是对于输出图形的题目还是有很多疑惑,因为这样的题目它每行的输出是不一样的,也许字母之间存在间隔,而且每行还是不同的间隔数,这就给在编写代码上就带来了困难。但是,作为编程人员的我们,这点困难不算什么,我们还需努力。高操作能力是我们长时间累积起来的,所以我们要克服困难,不畏险阻!