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作业超级难,我大部分题目都是猜加查资料,一个题目需要花费很长时间,所以印象自然会深一点点,但是还是有很多不懂得地方,我会多看看例题或问问其他人来解决。
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号