C语言I博客作业10
| 这个作业属于那个课程 | C语言程序设计II | 
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10098 | 
| 我在这个课程的目标是 | 熟悉while和do-while语句以及怎样使用break,continue语句,还有在for语句中它们的区别 | 
| 这个作业在那个具体方面帮助我实现目标 | 实现几种循环语句的灵活运用,了解各自的特点 | 
| 参考文献 | C语言程序设计,中国大学慕课 | 
1.PTA实验作业
1.1输出三角形字符阵列
题目描述:本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D
E F G
H I
J
1.1.1数据处理
数据表达:本题运用整型int定义n,i,j;字符型变量c,n是输入的数。
运用整型int定义n,i,j;字符型变量c,n是输入的数。
         
      输入n;
      把A赋值给c;
      for(i=0;i<=n;i++) to n
           for(i=0;i<=n;i++) to n
           {
              输出字母c;
              c++;
              即往后加一个,也就是A加一等于B;
           }
           换行;
       end for
1.1.2实验代码截图

1.1.3造测试数据
| 输入数据 | 输出数据 | 说明 | 
| 3 | ![]()  | 
输出符合三角形 | 
| 5 | ![]()  | 
输出符合三角形 | 
| 8 | ![]()  | 
输出不符合三角形 | 
1.1.4 PTA提交列表及说明

1.for(i=1;i<=n;i++);for(j=i;j<=n;j++)两个表达式中的范围弄错了,没有取等号。如果改为这样也是对的for(i=0;i<n;i++);for(j=i;j<n;j++)
2.还有是输出那字母c时没打空格。
1.2梅森数
题目描述:形如2
n
 −1的素数称为梅森数(Mersenne Number)。例如2
2
 −1=3、2
3
 −1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2
31
 −1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。
本题要求编写程序,对任一正整数n(n<20),输出所有不超过2
n
 −1的梅森数。
输入格式:
输入在一行中给出正整数n(n<20)。
输出格式:
按从小到大的顺序输出所有不超过2
n
 −1的梅森数,每行一个。如果完全没有,则输出“None”。
输入样例:
6
输出样例:
3
7
31
1.2.1数据处理
数据表达:运用整形定义num,n,i,j;n为输入的数。
   输入n;   
   if(n==1)//排除1这个数,从2^2-1开始
    如为1,then;
    printf("None");
for(i=2;i<=n;i++)
    {
       num=pow(2,i)-1;
	   for(j=2;j<=num/2;j++)
        {
          then 判定是否为素数;
         if(num%j==0)  
          break;
如果num%j!=0,则代表i没有被2至i-1之间的任意数整除,即num为素数,输出.
1.2.2实验代码截图

1.2.3造测试数据
| 输入数据 | 输出数据 | 说明 | 
| 7 | ![]()  | 
在此范围内有四个梅森数 | 
| 5 | ![]()  | 
在此范围内有三个梅森数 | 
1.2.4 PTA提交列表及说明

1.判定素数的条件错了,还有下面有种情况没考虑到。
2.还有思路很乱,后面的条件有多余了。
二.代码互评
| 我的代码 | 同学代码 | 
![]()  | 
![]()  | 
![]()  | 
1.我的代码很简单,但这不是普遍适用的方法,而是针对一些不用输入格式的,不具有很高的可读性。
2.同学代码也是很简单,方法也很好,用一个数的平方除以相对应的数在取余,思路也很清晰,值得我学习。
3.最后一张图片用的是库函数,使用了for,do-while,switch语句三种一起混杂,能很好的运用它们,并且联系起来,虽然代码很长,但可读性强。
3.1 学习进度条
| 日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 | 
| 第一周 | 6小时左右 | 40 | 学会一些符号的使用 | 开始感觉写代码太难,不知写它是干什么的所以很困惑 | 
| 第二周 | 11小时左右 | 70 | 会使用Markdown格式和一些基础的C语言知识 | 对代码错误找不出原因 | 
| 第三周 | 14小时左右 | 90 | 学会了基本语句和编写程序的列子、如if语句还有变量名称 | 有些格式不会及符号不会打 | 
| 第四周 | 25小时左右 | 120 | for循环语句的使用以及数据处理的运算符 | 对格式问题不太明白、表达式有点不会和一些细节问题总是忽略 | 
| 第五周 | 40小时左右 | 150 | 函数的定义以及函数调用 | 不完全理解函数的使用,一些步骤有点迷糊 | 
| 第六周 | 30小时左右 | 130 | 分支结构、逻辑运算符、字符型数据以及if-else的嵌套结构 | 逻辑关系搞错,常误解题目意思 | 
| 第七周 | 40小时左右 | 150 | switch语句的使用 | switch与if-else的嵌套会有点混淆,格式还不太明白 | 
| 第八周 | 50小时左右 | 170 | while语句和do-while的使用,以及它们和for语句的区别 | 对while语句的使用不是很熟悉 | 
| 第九周 | 40小时左右 | 140 | continue语句和break语句的区别及用法 | 有点模糊,它们各自在哪里可用 | 
| 第十周 | 30小时左右 | 150 | 了解了一点函数 | 不清楚怎么使用 | 
3.2 累积代码行和博客字

3.3学习内容总结和感悟
3.3.1 学习内容主要总结

                    
                








                
            
        
浙公网安备 33010602011771号