C语言I博客作业11

问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 作业链接
我在这个课程的目标是 学会并掌握C语言基本知识,能够相关C语言的各种代码
这个作业在那个具体方面帮助我实现目标 学习函数相关知识
参考文献 C语言程序设计(第3版)、百度、360浏览器

1.PTA实验作业(20分/题)

1.1 6-1 统计某类完全平方数 (20分)

题目内容描述:

1.1.1数据处理

数据表达:本题用了n,t,i,temp,flag这些变量,其中n值来自于N的值,t是通过n开平方得值,i是一个循环变量,定义初始值为0,temp的值来源于n除以10的余数,flag定义初始值为0,通过条件判断赋值为1,都是整型变量;
数据处理:
 伪代码:
       int IsTheNumber ( const int N )(函数名) 
       {
       int n,t,i,temp,a[10]={0},flag=0
       n←N;
       t=(int)sqrt(n)t等于n的平方根 (整型) 
       if t的平方等于n 
       {
       while(n不等于0)(直到n等于0跳出) 
       {
       temp←n%10(n除以10的余数)
       a[temp]++(累加)
       n←n/10(n除以10)
       }
       for(i←0;i小于10;i++)
       {
       if(a[i]小于或等于2)
       {
       flag←1
       返回值 1
       }
       }
       if(flag等于0) 
       返回值 0
       }
       else 
       返回值 0
       }

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
105 500 cnt = 6 使用题目所给数据
10 100 cnt = 1 使用较小数据
200 600 cnt = 4 随机范围
10 1000000 cnt = 780 较大范围

1.1.4 PTA提交列表及说明

提交列表说明:
    1.编译错误:在if(t*t==n)中少写一个“=”;
    solve:在原有的“=”后面再加上一个“=”;
    2.编译错误:在循环条件for(i=0;i<10;i++)中写成i<=10;
    solve:将i<=0中的“=”去掉;
    3.答案正确:通过修正答案正确;

1.2 6-2 统计各位数字之和是5的数 (20分)

题目内容描述:

1.2.1 数据处理

数据表达:本题用了number、x、y、count、sum、i、a、b这些变量,其中y、count、sum定义初始值为0,x通过number除以10的余数来来给值,number通过之前自身的值来除以10的值来给值,y通过x加y的和来赋值,a、b通过scanf函数来赋值,然后在for循环中将a值赋给i,在通过循环内部相关语句count进行累加,sum循环加之前自身的值和i值之和,都是整型变量。
数据处理:
 伪代码:
       int is(int number)(函数名) 
       {
   int x,y←0
   do{
       x等于number除以10的余数
       number等于number除以10
       y←x+y 
       }while(number不等于0)(直到number等于0) 
       if(y等于5)
       返回值 1
       else
       返回值 0
       }
       void count_sum(int a, int b)(函数名) 
       {
       int count←0,sum←0
       int i
       for(i←a;i<=b;i++)
       {
   if(is(i))
   {
       count++
   sum等于sum加i
   }
   }
   输出count和sum的值 
       }

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
104 999 使用题目所给数据
10 100 使用较小数据
100 1000000 使用较大数据
1004 1000000 使用a的各个数字之和为5的数据
1000 1000004 使用b值各个数字之和为5的数据
203 2003 使用a、b各个数字之和均为5的数据

1.2.4 PTA提交列表及说明

提交列表说明:
    1.编译错误:while语句后面没有加“;”;
    solve:在while(number!=0)后面加上“;”;
    2.编译错误: count_sum中间没有加“_”;
    solve:zai count和sum中间加上“_”;
    3.答案正确:通过修正答案正确;

2.代码互评(5分)

同学代码截图

自己代码截图

不同之处:
    1.第一位同学的代码的返回值和我表达不同;
    2.第二位同学的代码比我简洁。

3.学习总结(15分)

3.1 学习进度条(5分)

这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周(9/17-9/22) 5小时 43行 学会写最简单的代码
第二周(9/24-10/4) 6小时 62行 学会温度转换
第三周(10/6-10/13) 11小时 86行 学会写函数程序 不知道怎么在什么情况下调用scanf()函数
第四周(10/14-10/20) 10小时 105行 for循环语句和循环结构 不知道定义多少个变量
第五周(10/21-10/27) 10.5小时 114行 学会怎样去定义一个函数和它的基本格式 对于函数题的编程不知道该怎么样去设计
第六周(10/28-11/3) 12小时 135行 学会二分支结构和if-else语句 对于输入一个正整数,然后输入对应数量的数值的代码编写存在迷惑
第七周(11/4-11/10) 13.5小时 173行 学会怎样用switch简化代码的复杂性 使用switch语句时怎么能够很好的与其他语句很好的衔接
第八周(11/11-11/17) 10小时 157行 学会使用do-while语句和while语句 while后面的循环结束执行条件该如何判定
第九周(11/18-11/24) 9小时 125行 学会怎样去写一个关于嵌套循环的代码 怎么样区分一行输出几个和输出几行
第十周(11/25-12/1) 11小时 167行 进一步温习嵌套循环的使用 对于怎么理清内循环和外循环的循环语句和条件
第十一周(12/2-12/8) 12小时 152行 学习函数类型、作用存、储类型相关知识 不能很好的理清他们之间的关系

3.2 累积代码行和博客字数(5分)

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

本周主要学习了关于函数的相关知识,了解到函数的类型、作用域、存储类型,函数类型分为库函数和自定义函数,变量的作用域分为局部变量和全局变量,存储类型分为静态和动态。还提到自动变量只能在函数内或复合语句中定义.

3.3.2 学习体会

对于我个人感觉,这次的PTA作业的函数题和编程题挺难的,有个别题目连思路都没有,还有的题目有些的计算方法都还没没有弄明白,甚至都不会去怎么很好并且正确的表达题目所包含的意思。本周学习关于函数的知识有些我还是感觉还没有弄懂,因为这些知识有的具有互通性,还有牵扯到的内容也很多,但这并不是我学不好的理由,有困难就要善于去解决,不会做就多查查资料,但是我觉得我自己现在有点过分依赖百度,虽然有些不一定找的到,但是我还是会不停的去查找。感觉本周的事情很多,还有令自己非常郁闷的事,关系到我的期末考试,现在我只有尽量不去想那个事情,因为怀着不愉快的心情做事效率非常低下。加油吧,但愿每天都能有一颗愉悦的心情!
posted @ 2019-12-06 00:29  李权计科二  阅读(175)  评论(0编辑  收藏  举报