C语言I博客作业11
这个作业属于哪个课程** | C语言程序设计I |
---|---|
这个作业要求在哪里 | *作业链接* |
我在这个课程的目标是 | 熟练掌握C语言,并加以运用 |
这个作业在那个具体方面帮助我实现目标 | 对函数的分类,各种变量的生存期与作用域有所了解 |
参考文献 | *作业评价标准* |
1、PTA实验作业
1.1统计某类完全平方数
问题描述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
1.1.1 数据处理
-
数据表达:定义了整型变量a,i,j,k,数组a[10]和n;;,k用来记录N的每一位上的数,a[10]用来计算数据出现次数,n表示N的算数平方根。
-
数据处理:
伪代码如下
定义整型变量i,j,k,a[10];
if n<0返回数值;
if(N等于完全平方数)
while语句记录各位上的数出现的次数,储存在数组a中;
for循环一次读取数组a的数据;
if(a数组中出现的数据相同)
return 1
}
return 0
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | cnt = 6 | 样例,正确 |
45 324 | cnt = 4 | 随机数,正确 |
1.1.4 PTA提交列表及说明
- 1、编译错误:平方根sqrt符号打错成sprt
1.2统计各位数字之和是5的数
问题描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1 数据处理
-
数据表达:第一函数定义了x,用,第二个函数定义了sum,count,i
-
数据处理:
伪代码如下
定义判断各位之和是否为5的函数 //赋值形参number 定义x,y=0 do x=number%10取个位数 number=number/10去掉个位数 y=x+y计算每一位数的和 while number!=0 if y==5 do return 1;返回1 else do return 0; 定义统计个数的函数 赋值形参a,b 定义count=0,sum=0 定义i for i=a to i=b if (is(i)) do 调用上面的函数判断i是不是符合要求 count++; 计算符合的个数 sum=sum+i;计算所有符合的数的和 printf("count = %d, sum = %d",count,sum) 输出
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 104 is counted. count = 15, sum = 3720 | 样例,正确 |
200 300 | count = 4 ,sum = 866 | 随机测试 |
- 1、运行超时:多处分号漏写,for循环逻辑混乱
2.代码互评
2.1同学代码截图
2.2自己代码截图
1.在判定是否是素数的for语句的语句二不同,他的是for(j=2;j<=sqrt(item);j++);而我的是for(i=2;i<b;i++);
2.他用了他平方根计算,而我没有用
3.我和他都用了for循环的嵌套。
3.1 学习进度条
周数/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第四周/10-17 | 约5小时 | 300行左右 | “for”循环结构语句的基本使用 | 对循环结构的使用不熟练。 |
第五周/10-24 | 约4小时 | 280行左右 | 定义函数的使用 | 对pta上的作业题目很难读懂意思 |
第六周/10-31 | 约5小时 | 350行左右 | 逻辑表达式 关系表达式 | 听课听得懂 做题不会做 |
第七周/11-6 | 约5小时 | 300行左右 | switch语句,char数据类型 | 题目大致能看懂,细致末梢难以处理 |
第八周/11-13 | 约6小时 | 350行左右 | 熟悉使用while和do-while结构解决问题。 | 结构的运用 |
第九周/11-21 | 约7小时 | 400行左右 | 区别break与continue语句 | 对数学知识头疼 |
第十周/11-27 | 约6小时 | 380行左右 | 熟练运用分支语句 | 题目意思难理解 |
第十一周/12-5 | 约8个小时 | 400行左右 | 函数的运用 | 不知怎么使用 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
在学习的过程中难免会遇到困难但是我们要不畏惧困难 要努力克服学习上的困难,c语言的学习需要夜以继日的练习,不然很容易生疏。这周又学习了新的综合程序设计分支结构,还有char数据类型,switch语句,以及break的使用,收获颇丰,虽然感觉还是挺难得,但是也很有趣。这一个月学习的最多的就是for while if-else break continue等语句, 哪一步设置循环,循环结束的条件是什么,嵌套循环怎么使用都是这个月学习的难点,感觉做pta需要数学基础,不然题目都可能看不懂。千淘万漉虽辛苦,吹尽狂沙始到金。坚持就是胜利!