博客C语言I作业11
一、本周教学内容&目标
第5章 函数 要求学生掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。
二、本周作业头
| 这个作业属于哪个课程 | c语言程序设计II |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10130 |
| 我在这个课程的目标是 | 了解、运用并学会自己编辑c语言 |
| 这个作业在哪个具体方面帮助我实现目标 | 能帮助我更了解c语言,练习c语言 |
| 参考文献 | 《c语言程序设计》《C Primer Plus》 |
三、本周作业
PTA实验作业
代码互评
学习总结
四、作业格式
1.PTA实验作业(20分/题)

1.1统计某类完全平方数
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
1.1.1数据处理
数据表达:
定义了五个变量a,b,c,n,m,和一个数组d[10],分别代表平方数,承接if的数,各位数数字,等价输入数,对应数组数。
数据处理:
定义整型a,b,c,n,m; //分别代表平方数,承接if的数,各位数数字,等价输入数,对应数组数。
定义整型d[10]←{0} //定义一个10位的数组,从0开始,每个个数数字都为0
for a←1 to sqrt(N) //累加a
b←0
if(N==a*a) //如果N为完全平方数
n←N;
while(n) //当n大于0时进行循环
c←n%10; //求出各个位数的数字
d[c]++; //数组中为c的数字个数加1
n←n/10;
for m←0 to 10 //统计所得数组每个位数数字的个数
if(d[m]>=2) //个数不少于2,返回1
b←1; //改变b的值
return 1;
if(b==0)
return 0; //若b的值没被改变,则输出0
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 105 500 | cnt = 6 | 题目给出数据 |
| 0 1 | cnt = 0 | 最小整数 |
| 121 121 | cnt = 0 | 区间为0 |
1.1.4 PTA提交列表及说明

提交列表说明:
**部分正确**:最开始没有想到要用数组,光求各个位数就用了三个循环结构,弄出了十几个变量,也有很多细节难以发现,总是部分正确。百度了一下,发现还可以用数组,简单易懂很多,因此,最后我还是采用了数组。
1.2 统计各位数字之和是5的数
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1 数据处理
数据表达:
第一个函数定义了五个整型变量n,m,x,sum,a[10],分别表示等价输入数,各个位数的数字,对应组数数字,各位数之和,10位的数组。
第二个函数定义了两个整型变量count,sum,分别表示为满足条件的数字个数,各位数之和的总和。
数据处理:
定义整型n,m,x,sum; //分别表示等价输入数,各个位数的数字,对应组数数字,各位数之和,10位的数组
定义整型a[10]; //定义一个10位的数组,从0开始,每个个数数字都为0
while(n) //当n大于0时进行循环
m←n%10; //求出各个位数的数字
a[m]++; //数组中为m的数字个数加1
n/←10;
for x←0 to 10 //统计所得数组每个位数数字的个数
sum+=x*a[x]; //数组中数字乘数字个数之和
if(sum==5)
return 1;
否则
return 0
定义整型count=0,sum=0; //分别表示为满足条件的数字个数,各位数之和的总和
for a to b
if(is(a)==1) //区间范围满足条件
count++;
sum+←a; //计算各位数之和的总和
输出count , sum;
1.2.2 实验代码截图


1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 104 999 | ![]() |
题目给出数据 |
| 104 105 | ![]() |
sample等价,a是,b不是 |
| 105 106 | ![]() |
区间内完全没有 |
1.2.4 PTA提交列表及说明

**格式错误**:输出时没注意,忘记等号前后打空格。
2.代码互评(5分)
同学代码截图

自己代码截图

1)第一份代码定义了五个变量,第二份代码定义了六个变量。
2)两份代码都运用了数组,但两份代码的思路完全不同,第一份代码定义了一个一百位的数组,通过count的累加,储存各位数数字,最后用小于count的数和每次累加到的count数组比较,如果有相同的,就满足条件。而第二份代码则是定义了一个从0开始的10位数的数组,每个数字个数都为0,再求各个位数c,最后用累加m比较每个数字的个数,即大于2的就满足条件。相比而言,我觉得两份代码都各有所长吧。
同学代码截图


自己代码截图


1)第一份代码总共定义了五个整型变量,而第二份代码总定义了六个变量。
2)第一份代码没有用数组,而第二份代码使用了数组。
3)第一份代码是直接求出各位数数字,累加起来得到和与5比较,而第二份代码运用了数组就比较麻烦,方法和第一题差不多,但相比起来,这一题,用第一份代码的方法简便些。
3.学习总结(15分)
3.1 学习进度条(5分)
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 1/16~1/22 | 1h | 42 | 输入,输出文件 | 无 |
| 2/23~2/29 | 3h | 31 | 使用int定义变量 | 无 |
| 3/7~3/10 | 6h | 93 | 选择型流程结构,使用double定义变量 | 输出printf,scanf中%后面使用d或者f或者lf分不清 |
| 4/15~4/18 | 6h | 100 | 循环流程结构 | 段错误的原因 |
| 5/22~5/26 | 8h | 104 | 调用函数,形参和实参 | while的循环原理 |
| 6/29~6/22 | 10h | 166 | 字符,ASCⅡ码集,套嵌if-else分支 | for循环边界值 |
| 7/5~7/8 | 5h | 141 | switch多分支结构 | 无 |
| 8/12~8/15 | 7h | 159 | while循环 | 使用字符解题不怎么会,定义变量所占空间大小 |
| 9/19~9/22 | 15h | 171 | break,continue | getchar(),变量的位置 |
| 10/25~10/28 | 18h | 211 | 循环结构的使用 | 数组的使用 |
| 11/3~11/6 | 19h | 441 | 类型函数的定义、调用和申明 | 控制迭代精度的EPS的使用方法 |
3.2 累积代码行和博客字数(5分)

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



3.3.2 学习体会
这次题目是真的有点难,先做函数题时,第一个题目就想了我很久,想的方法也复杂得要死,最后还是用数组写出来的。做完之后,我想,编程题应该会简单些吧,做了之后,觉得我真的是异想天开了。
难题之后只有更难。
也许以后,我们还会遇见更难的题目吧,然后回过头来,现在做的难题到那时也会觉得很容易了吧,就像现在的我现在回顾我那些以前做过的题目一样。我期待着那一天的到来。
只有遇到难题,只要做了都会学到很多,尤其是做出来与其他人的做对比,你可以知道自己的代码有哪些不足,还可以学习别人的做题方式。
博客C语言I作业11的更多相关文章
- C语言I作业11
C语言 博客作业11 问题 回答 C语言程序设计II 博客作业11 这个作业要求在哪里 作业要求 我在这个课程的目标是 理解和弄懂局部变量和全局变量,静态变量和动态变量 这个作业在哪个具体方面帮助我实 ...
- C博客第01次作业---顺序,分支结构
1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 经过了这一周的学习,从一开始对C语言一无所知,到现在能够写出基本的代码,感到非常开心. 学习C语言也并非想象 ...
- 提交作业 C语言I作业11
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127 我在这个课程的目标 ...
- 软件工程1916|W(福州大学)_助教博客】个人总结作业(第12次)成绩公示
1.作业链接 个人作业--软件工程实践总结作业 https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/3316 2. ...
- C博客第02次作业---循环结构
1.本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量 1.2 本章学习体会及代码量 1.2.1 学习体会 1.这两周的学习懂得了循环结构的使用方法,懂得了在什么时候应该使用循环结构来处理问 ...
- C博客第03次作业---函数
1.本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 首先,对于学习了函数的我来说是很开心的,因为学了函数之后可以解决很多以前不懂的问题,可以说函数是C语言中 ...
- 【软件工程1916|W(福州大学)_助教博客】团队第一次作业成绩公示
题目 第一次作业 评分准则: 队名(最好能够体现项目内容,要求有亮点与个性):(1分) 拟作的团队项目描述:一句话(中英文不限):(1分) 队员风采:介绍每一名队员,包括成员性格.擅长的技术.编程的兴 ...
- C语言I博客作业12
一.我学到的内容 二.我的收获 作业链接 收获 博客第一次作业:https://www.cnblogs.com/gm12/p/11584148.html 第一次作业收获:第一次作业是我初步接触C语言的 ...
- DS博客作业01--日期抽象数据类型设计与实现
1.思维导图及学习体会 1.1第一章绪论知识点思维导图 1.2 学习体会 这次博客园和大作业是我在编程学习中的有意义的进步,第一次尝试使用vs,并且通过同学的一些网站的推荐,和热心同学的帮忙,简单学会 ...
随机推荐
- 步骤五 · 4-9 解决getElementsByClassName()兼容性 未解决
前端零基础入门 2019版 / 步骤五 · 4-9 解决getElementsByClassName()兼容性
- 图像的padding操作
为了完成卷积后图像大小不变,原始图像需要进行边界填充 copyMakeBorder(src,dst,top,bottom,left,right,bordertype,value); bordertyp ...
- Burpsuite 2.0.11 Beta 破解版下载
1.解包 jar xvf burpsuite_pro_v2.0.11beta.jar 自行定制,删除自带chrome和7zip软件包之后,软件精简至39M. 2.打包 jar cvfm META-IN ...
- [Luogu] 小凯的疑惑
https://www.luogu.org/problemnew/show/P3951 考场上打表找规律的我写出了这样一份代码(紧张到爆<已经爆>) 当时一出考场听说是O(1)做法,当时就 ...
- LG2467 地精部落
题意 给出\(n\),求有几个\(W\)形的\(n\)的全排列(震荡) 思路 可以变求出第二个数比第一个数大的,再翻倍就好 设\(f[i][j]\)表示\(i\)个数中\(j\)个数不符合序列 转移时 ...
- Java 标准 IO 流编程一览笔录( 上 )
Java标准I/O知识体系图: 1.I/O是什么? I/O 是Input/Output(输入.输出)的简称,输入流可以理解为向内存输入,输出流是从内存输出. 2.流 流是一个连续的数据流,可以从流中读 ...
- IntelliJ IDEA 2017.3 搭建一个多模块的springboot项目(一)
新人接触springboot,IDE使用的是IntelliJ IDEA 2017.3 ,自己摸索了很久,现在自己整理一下,里面有些操作我自己也不懂是为什么这样,只是模仿公司现有的项目,自己搭建了一个简 ...
- OUC_Summer Training_ DIV2_#13 723afternoon
A - Shaass and Oskols Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I ...
- Java-NIO 之 Selector 与 Pipe
关于阻塞与非阻塞:https://www.cnblogs.com/jhxxb/p/11272727.html 一.传统的 IO 流都是阻塞式的 当一个线程调用 read() 或 write() 时,该 ...
- sqlserver创建链接服务器连接sqlserver脚本
示例: EXEC sp_addlinkedserver @server='MyLinkServer', --链接服务器别名 @srvproduct='', @provider='SQLOLEDB', ...


