C语言I博客作业10
问题|答案
---|:--😐---:
这个作业属于那个课程|C语言程序设计II
这个作业要求在哪里|作业链接
我在这个课程的目标是|巩固之前所学知识并将知识进一步系统化进一步复习
这个作业在那个具体方面帮助我实现目标|PTA作业和作业要求对问题的解决的详细记录
参考文献|百度文库,教材,知否等
1.PTA实验作业
1.1 输出三角形字符阵列
题目内容描述:
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
1.1.1数据处理
数据表达:本题我用到的变量有n,i。n为行数由scanf函数输入,i为循环变量。它们都是整形变量。
数据处理:(伪代码)
#include<stdio.h>
int main()//头文件
int n,i;//行数变量和循环变量
scanf("%d",&n);//输入n
char c='A';//使用字符型函数且从A开始
while(n!=0)//若行数不为零则循环,排除n等于零的情况
for(i = 0; i < n; i++) //行数累加循环
putchar(c++);//输出字符累加
printf(" ");//每个字母后面都有一个空格,题目要求
n--;
printf("\n");//输完一行要换行
1.1.2实验代码截图
1.1.3 造测试数据
输入数据|输出数据|说明
---|:--😐---😐---|:--😐---:
4||题目数据
6||随机数据
9||行数大于7大写字母输完输小写字母
1.1.4 PTA提交列表及说明
提交列表说明:
1.编译错误:在表达字符从A开始的时候出现错误。
2.格式错误:没有看到题目的条件,忘记每个字母后面都有一个空格。
3.答案正确:将char A;改为char c='A'; 字符累加后一行添加printf(" ");全部改正即可。
1.2 梅森数
题目内容描述:
1.2.1 数据处理
数据表达:本题我用到的变量有i,j,count,n,num。其中n由scanf函数输入,count初始值定义为0,num是所要输出的
梅森数,i,j是两个循环变量。它们都是整形。
数据处理:(伪代码)
#include<stdio.h>
#include<math.h>//后面要用到sqrt、pow函数
int main()
int num,n,i,j,count=0;//定义变量
scanf("%d",&n);//输入n
for(i=2;i<=n;i++)//去除n为0的情况,因为0不是梅森数
num=pow(2,i)-1;//给num赋值
for(j=2;j<=sqrt(num);j++)
if(num%j==0) break;//
if(j>sqrt(num))
printf("%d\n",num);
count++;
if(count==0)
printf("None");
return 0;
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据|输出数据|说明
---|:--😐---😐---|:--😐---:
1|None|没有梅森数
6||题中数据
12||随机数据
18||随机数据
1.2.4 PTA提交列表及说明
提交列表说明:
1.编译错误:sqrt函数忘记打括号、pow函数错误、if后面的条件表达式应该是用"=="。
2.答案正确:在for语句中在加一个括号,将num=pow(i,2)-1;改为num=pow(2,i)-1;,将if(count=0)改为
if(count==0)、将num%j=0 改为num%j==0
2.代码互评
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图(输出三角形字符阵列 )
同学一
同学二
自己代码截图
不同点:
同学一整体的思路就和我们不一样,他想到了用ASCLL码来表示字母,这就让他这道题后面做到了简化的铺
垫。我觉得这一点新颖的思路值得我学习。同学二在输出字符时直接用循环结构,这样也很好,我的较之复
杂,用 putchar(c++)这一式子来表示,这一点我需要改正。
点我需要改正。
3.学习总结
3.1 学习进度条
周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题
---|:--😐---😐---|:--😐---:
第一周|2小时|30|最简单代码|无
第二周|2小时|30|温度转换|无
第三周|5小时|90|if-else语句|格式和符号的使用
第四周|7小时|100|for循环语句|无
第五周|8小时|102|自主编写函数|编写函数的一些格式框架仍然有点模糊
第六周|8小时|130|分支结构|无
第七周|7小时|98|switch语句|拿到题目时仍然不会间接表达变量
第八周|8小时|121|while语句|PTA题中的条件不理解
第九周|8小时|129|continue结构|对变量的循环把握不到位
第十周|8小时|123|总结|复杂的镶套循环仍然把握不到位
3.2 累积代码行和博客字数
3.3.1 学习内容总结
3.3.2 学习体会
这一周的PTA作业真的是巨难,拿到题目时毫无头绪。还有就是在做题的过程中我发现自己有很多东西都很容易犯错,
这就是熟练程度了。不过专心、细心做认真思考总会有解决办法的,不会还可以查资料嘛。就快要期末考试了,之前学
过的知识要好好复习复习了,不然写对面时还有去想这个写的是不是对的,那样会拖慢自己的速度。自己的逻辑也不是
很明确,不知道哪个该先写,哪个该后写,对表达式的把握也不是特别到位。所以我还要好好复习。