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 学习内容主要总结

3.3.2 学习体会

.这周老师提了一下函数,但我还不熟悉函数。

.这几周复习了while以及do-while和for循环语句三者的区别和使用范围,while语句是使用在不确定的范围,而for语句是在确定的范围。

.练习太少,不是很熟练!分清它们的区别,还有格式。

.目前对学习C语言没有那么吃力了,但也有很多东西不知道,也有时把它与数学的思维放在一起,然后写出来不对,所以我每天制定个小计划。

.这周作业有点难,一个题目要写很久,每次都是编译和答案错误,老师上课讲的都听懂了。但作业做起来有点困难,主要是课后练习较少,没有花很多时间学习C语言。

.写代码是一件痛苦而又快乐的事情,痛苦并快乐着。

posted @ 2019-11-28 23:38  邓志卓  阅读(220)  评论(2编辑  收藏  举报