C语言I博客作业11

这个作业属于哪个课程 C语言程序设计I
这个作业要求在哪里 作业链接
我在这个课程的目标是 熟练掌握C语言,能独立完成简单项目,毕业前想做出一个简单的游戏
这个作业在那个具体方面帮助我实现目标 知道函数的分类,理解各种变量的生存期与作用域
参考文献 作业评价标准

1、PTA实验作业

1.1统计某类完全平方数

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

1.1.1 数据处理

  • 数据表达:定义了整型变量A,i,j,k,数组a[10]和n;浮点型n;A当作临时变量用来替代原数据N,i、j均为for语句用来计数的变量,K用来记录N的每一位上的数,a[10]用来计算每个数据出现了几次,n表示N的算数平方根。
  • 数据处理:

伪代码如下
定义整型变量i,j,k,a[10];
for循环初始化数组a;
定义浮点型变量n,用来表示N开根号;
if(N是完全平方数)//用到的floor函数百科
{
定义整形变量A,临时替代N;
while语句记录各位上的数出现的次数,储存在数组a中;
for循环一次读取数组a的数据;
if(有任意一个数据出现了两次)
return 1
}
return 0

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
105 500 cnt = 6 样例,正确
45 324 cnt = 4 随机数,正确

1.1.4 PTA提交列表及说明

  • 1、运行超时:for循环出现逻辑错误,导致死循环。
  • 2、编译错误:出错的for语句修改成while语句后,除号打成了。

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

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

1.2.1 数据处理

  • 数据表达:第一个函数中,定义了i,sum和N,分别表示各位上的数,各位上数的和,输入的数据;第二个函数中,定义了i,count和sum,分别表示区间内每个数,满足条件的数有多少个,满足条件的数之和。
  • 数据处理:

伪代码如下
第一个函数;
定义整形变量i,sum=0,N=number;
while(.....)计算各位数之和;
if(sum==5)
返回1;
else
返回0;
第二个函数;
定义整形变量i,sum=0,count=0;
for(...)分别取出区间内所有数;
{
if(i代入第一个函数)
{
count++;
sum+=i;
}
}
输出count,sum;

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
104 999 104 is counted. count = 15, sum = 3720 样例,正确
203 500 代码运行图 随机数,正确

1.2.4 PTA提交列表及说明

  • 1、答案错误:while语句终止条件错误,写成了i!=0,第三个表达式出现逻辑错误,写成了i=i/10。
  • 2、部分正确:只改了第三个表达式,未发现终止条件出错,改正后答案正确。

2、代码互评

同学代码

我的代码

  • 1、该同学只用了3个for循环就算出了结果,且答案正确,代码很简洁。
  • 2、我用了6个for语句,很麻烦且很杂乱,虽然答案正确,但别人很难看懂,作为一名程序员,让别人看懂你的代码是很重要的一个能力,由此可见我的不足之处--不够精炼,以后定当多修改,让代码尽量简洁完整无误。

3、学习总结

3.1 学习进度条

日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
10/7--10/13 9+个小时 100+ 编写if-else语句,算术运算与赋值运算规则等 while语句的使用以及适用范围
10/14--10/20 8+个小时 190+ for的使用,if-else与for的组合使用 while与for的区别
10/21--10/27 6+个小时 340+ 定义函数与调用 对函数的定义与调用不熟悉
10/28--11/3 6+个小时 260+ if-else的镶嵌结构 用太多if-else会比较混乱
11/4--11/10 6+个小时 170+ switch语句的基本运用 switch与if-else的区别
11/11--11/17 6+个小时 120+ while语句的使用 什么是指针
11/18--11/24 6+个小时 90+ continue的使用以及其与break的区别 什么是指针,长度可变数组与长度固定数组的区别和适用情况
11/25--12/01 7+个小时 160+ for语句的嵌套 函数的分类
12/02--12/08 9+个小时 170+ 函数类型,变量生存期与作用域等 任意混淆全局变量与局部变量,静态变量与动态变量的关系

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

思维导图

3.3.2 学习体会

  • 答:1、这周所学内容较多且易混淆,所以需要花更多时间来消化理解,PTA作业基础题难度明显增加,挑战题甚至能做好几个小时,还不一定做得出来,容易炸心态。但学习就是如此,你不让它臣服于你,它就让你生不如死。开个玩笑,总之这周的学习还是有些难度的,我也会尽力克服,努力跟上节奏。
  • 2、其次就是关于期末考试,考试临近心情还是有些激动的,当然也有点慌,学了一个学期很想知道自己学得怎样,但又怕考砸了丢人而且自己心里也不好受,所以复习就显得尤为重要,快考试了所以课很少,不妨在闲余时刻多看看书,不要老想着打游戏,不仅耽误学习还伤身体。
原文地址:https://www.cnblogs.com/solokill/p/11989575.html