这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11531
这个作业的目标 熟练运用循环镶嵌结构
这个作业在那个具体方面帮助我实现目标 函数的运用
参考文献 C语言程序设计
你的学号 20208963

1.PTA实验作业

1.题目一


1.1.1数据处理

 数据表达:运用整数型变量n和number;
          以及自定义函数:
                void count_sum( int a, int b )
 数据处理:运用循环语句while和for语句以及分支语句if-else  
             while(num>0){    /*循环结构while判断整数每个位置的数;
             n+=num%10;       
             num/=10;
             }  
             if(n==5){         /*判断是否等于5,跳出;
             return 1;         /*返回值为一;
             for(a;a<=b;a++){  /*循环统计数量;
             if (is(a)){
              count++;
              sum+=a;          /累加;

1.1.2 实验代码截图

1.1.3 造实验测试数据

输入数据 输出数据 说明
111 201 count = 4, sum = 506 260到201之间有4个各位数字之和是否等于5的数,且它们的和为506
260 520 count = 6, sum = 2244 260到520之间有4个各位数字之和是否等于5的数,且它们的和为2244
320 360 count = 1, sum = 320 320到360之间有4个各位数字之和是否等于5的数,且它们的和为320
444 999 count = 1, sum = 500 444到999之间有4个各位数字之和是否等于5的数,且它们的和为500
1.1.4 提交列表及说明
 1.在编译过程中没有考虑到A本身的数值,在循环运算时没有算入循环体
   将 
            for(a;a<b;a++)
   改为 
            for(a;a<=b;a++)
   运算正确;
 2.在编译过程中忘记了while的循环跳出条件,导致结果没有跳出 
   将 
            while(num>=0)
   改为
            while(num>0)
   运算正确,编译成功;

1.2.1数据处理

 数据表达:运用整数型变量m n c 以及数组表达序列num[10001],flag[10001],pri[10001];
 数据处理:运用自定义函数
                int get(int d)
          以及循环语句while和for还有if-else分支语句
          if(num[d] != -1) return num[d]   /*判断数组变量是否表达;
          num[d] = -2;                     /*对数据进行赋值;
          int t = d,sum = 0;
          while(t) {                       /*循环体变量t的值;
          sum += (t % 10) * (t % 10);
          t /= 10;
          }
          t  = get(sum);                  /*赋予t新的数值;
          if(t >= 0) flag[sum] = 1;
          return num[d] = t == -2 ? t : t + 1;

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
110 120 SAD 没有幸福数
10 40 19 23 28 31 32 8 6 3 4 3 在10到40之间有5个幸福数分别为19 23 18 31 32独立性分别为8 6 3 4 3
40 60 44 49 4 4 在40到60之间有2个幸福数分别为44 49独立性分别为4 4
100 120 103 109 4 8 在100到120之间有2个幸福数分别为103 109独立性分别为4 8
1.2.4提交列表及说明
1.在运用循环语句for时,忘记考虑了一种情况,
  没有对
              for(int i = m;i <= n;i ++) 
  再次使用,导致运算结果缺少了独立性的表达
  运用两次后成功输出;
2.在运用for语句镶嵌时,将最外层的大范围数据循环写到了最外面,、
  导致范围出错
  改为
        for(int i = 2;i * i <= 10000;i ++) {
        if(pri[i]) continue;
        for(int j = i * i;j <= 10000;j += i) {
        pri[j] = 1;
  成功运行,运算正确;

2.代码互评

同学代码1

同学代码2

我的代码

 互评:1.从语句的运用方面来说,我们整体上的代码思路是一致的,
        都运用了while循环语句来判断数组变量,然后运用if-else
        多分支结构去输出多种结果
      2.从代码的运用上来说【同学代码1】运用了插旗子标记的方法
              flag=1 flag=0
        以此来使代码输出的结果有两种输出渠道,甚是方便实用
      3.从代码整体简洁性上看【同学代码2】的代码内容较为简洁,
        但是相对来说也容易出错,细节较多。充分展示了该同学对
        代码编程的掌握能力和理解能力;    

3.学习总结

周/日期 这周所花时间 代码行 学到到的知识点 目前比较困惑的问题
第一周 6小时 200 输出Hello World 对于循环的条件运用以及
第二周 8小时 500 数学运算 if分支语句 循环时具体的赋值状态
第三周 15小时 900 for循环语句
第四周 18小时 700 调用自定义函数 对于自定义函数掌握不太熟练
第五周 19小时 800 逻辑运算以及if多分支结构 运用if多分支时容易搞混乱语句的结构顺序
第六周 24小时 900 switch语句的多分支结构 不能熟练掌握switch语句简化语句的以及break跳出方式
第七周 27小时 950 while语句 不能熟练运用while的判断条件
第八周 29小时 780 镶嵌结构 不能较好分清镶嵌的层次和次数
第九周 32小时 800 循环多分支结构以及自定义函数 不能熟练掌握自定义函数有参和无参的相对意义
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.2 学习体会

 1:已经学习九周目了,对于程序的编写也越来越复杂,对于代码的研究也越来越深入。我从中慢慢感受到了这门学科的难点和重点
 2:我已经能够理解简单的代码数据类型,也能够看懂其他人一些简单的代码结构,这将会对我以后自己研究代码提供了一定的基础
 3:我也能够从不同的代码编写上找出简便的编写方法,研究出一套适合自己的编写路径和独特的代码编写特点。
 4:学习完for语句镶嵌后才发现好多东西代码可以替换,每种代码有着本身的特色和表达方式,不同代码组合在一起会产生极大效果
    每种代码的相互配合和结合都会有助于程序的编写,以及自定义函数的使用让编程语句更加简洁实用;
 5: 希望以后自己能够坚持住对代码编写的信心,对于代码的运用越来越熟练。