C语言I博客作业11

问题|答案
-|:-😐-:
这个作业属于哪个课程|c语言程序设计I
这个作业的要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10129
我在这个课程的目标是|学好怎样精确地打代码,快速准确的完成PTA,在博客园上将自己的错误总结与归纳
这个作业在具体哪个方面帮助我实现目标|对自己打的代码进行纠错与记录,对别人的代码进行挑错与学习
参考文献|Brian W.Kernighan, Dennis M.Ritchi

作业格式

1.PTA实验作业

1.1 6-1 统计某类完全平方数

   * 题目内容描述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等

1.1.1 数据处理

   * 1.数据表达:
int IsTheNumber ( const int N )
{
  int ← sqrt(N); 
  int n ← N; 
  int a[10] ← {};    //变量r,n,a,

  if(r*r = N){     //筛选是否为完全平方数
    int d;    
    while(n){
      d ← n%10;
      a[d]++;
    if(a[d]←2){   //设a[d]==2定义
          return 1;
          break;
    }
    n/←10;  
    }
  }
  return 0;
  
}
   * 2.数据处理:用int整型n1,n2的变量

1.1.2 实验代码截图

1.1.3造测试数据

输入数据|输出数据|说明
-|:-😐:-😐-:
121 440|cnt=4|
169 225|cnt=1|

1.1.4提交列表及说明


* 编译错误: int r=sqrt(N); int n=N; int a[10]={};一开始将这三个用int定义的变量合并为一个了,结果发现是编译错误,放在devec++上运行,发现是好像说的是不能这样放,所以就把他们分开了,重新弄了三个用int定义的。

1.2 6-2 统计各位数字之和是5的数

   * 题目内容描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。

1.2.1 数据处理

  * 1.数据表达:
int is( int number )
{
    int sum ← 0,n;
    while(number≠0)           //while的语句
    {
        n ← number%10;          //定义n,赋值number%10
        sum ← sum+n;
        number ← number/10;
    }
    if(sum==5)        //用if语句,赋sum的值
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
void count_sum( int a, int b )
{
    int i,count←0,sum←;          //用int定义i,count,sum全为原始值0;
    for(i←a;i<←b;i++)
    {
        if(is(i))
        {
            count++;
            sum←sum+i;
        }
    }
    printf("count ← %d, sum ← %d\n",count,sum);      //printf输出
}

1.2.2实验代码截图

1.2.3造测试数据

输入数据|输出数据|说明
-|:-😐:-😐-:
104 999|104 is counted.count = 15, sum = 3720|这个的各位数之和为5

1.2.4提交列表及说明


* 编译错误:对于这一系列的编译错误,无非还是小细节上的错误,比如说这一系列的操作【void count_sum( int a, int b ){ i,count=0,sum=0; if(is(i)){ count++;】,其实很难想到去这样做,然而这些却又是这道题的关键,审题不清,导致变量以及变量摆放的位置有点差异,所以会导致编译错误。

二.代码互评



* 第一个是我的,第二个是同学的,这两个代码差别不大,区别在于定义的变量数不一样,前者比较定义得多,后者则比较简洁,所以,整体看下来后者的代码比较清晰易懂,他的思路也很清楚,这道题他的代码优势更突出。

3-1.学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周(9.19-9.27) 7天 28行 学到了最简单的格式以及一些些语法,懂得一些编译的注意事项 不懂为什么要那样注意编译,错一个像欠一个空格这样的就都不对还有一些特定的符号的用处
第二周(9.25-10.4) 5天 20行 学会了对于程序设计的一些东西,比如计算啊,就会自己开始编程,解决问题时就会简洁许多 不知道一些符号代表什么意思,就只是死记了下来
第三周(10.8-10.11) 3天 102行 这周PTA作业较多,难度系数较大,因为都不是书上的,要自己开始琢磨,怎么去排列和提出问题,学会的东西也更多,知道自己编程和自己想办法去找错误,以及怎样思考这样的一些步骤 很多很多的#include代表什么意思,还增添了许多新符号,不知道是什么意思,只知道一些浅显的表层使用
第四周 8个小时 84行 学到了新的“for"循环语句,又多懂了一些格式的注意事项 有时候自己的循环体有点搞不清楚,到底该怎样去设
第五周 3天 89 学到了什么是调用函数(主调函数和被调函数)还有声明函数 有些函数类型还不是特别熟悉
第六周 3天 124 学了分支结构,更加熟练运用if和else语句 感觉还行,没有特别不会的地方
第七周 3天 91 学了switch语句,觉得更加好用,全是case比较简单实用 switch语句掌握得还不是特别好,老是一下想不起来
第八周 3天 72 学了while语句和do while语句 pta作业有点难,还有一些搞不清的地方,while和do while做题目的时候不知道用哪个
第九周 3天 60 本周学了foe循环的嵌套语句 本周作业没有完成得很好,还需要改进很多,对于for循环的使用得多多写写代码,才能越来越熟练。
第十周 3天 123 本周算是将上几周的内容概括了一遍 pta题目很难,问了许多人,改了许多遍才完成,也算记忆深刻一些吧
第十一周 3天 51 本周题目难度较大,学了新的函数名的调用,实参和形参,还有全局变量和局部变量 分不清全局变量跟局部变量,然后参数形式也不太懂

累计代码行和博客字数

思维导图

3.3学习感悟

 * 这周学习了关于形参和局部变量以及全局变量,我觉得有点难懂,函数名也挺多的,这次的pta作业超级难,我大部分题目都是猜加查资料,一个题目需要花费很长时间,所以印象自然会深一点点,但是还是有很多不懂得地方,我会多看看例题或问问其他人来解决。
posted on 2019-12-06 21:11  蒋静颖  阅读(370)  评论(3编辑  收藏  举报