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作业真的是巨难,拿到题目时毫无头绪。还有就是在做题的过程中我发现自己有很多东西都很容易犯错,
 这就是熟练程度了。不过专心、细心做认真思考总会有解决办法的,不会还可以查资料嘛。就快要期末考试了,之前学
 过的知识要好好复习复习了,不然写对面时还有去想这个写的是不是对的,那样会拖慢自己的速度。自己的逻辑也不是   
 很明确,不知道哪个该先写,哪个该后写,对表达式的把握也不是特别到位。所以我还要好好复习。

posted on 2019-11-26 13:16  刘明计科二班  阅读(158)  评论(0编辑  收藏  举报

导航