C语言I博客作业09
作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-3 | * |
---|---|---|
这个作业的要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-3/homework/11636 | |
这个作业的目标 | 函数调用,定义函数与声明函数的区别,局部变量和全局变量的区别及用法 | |
学号 | 20209042 |
一.PTA实验作业
请在此处列出自己的排名图片
1.16-1 统计某类完全平方数
题目内容描述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等
1.1.1实验代码截图
1.1.2数据处理
数据表达:定义了a,n等整形变量m通过赋值得到。
数据处理:运用了数组a[10]={0}; 定义num的长度为10,因为传入的整数的每位数可能是0~~9,而不是传入数的位数.
while (m > 0)语句遍历N的每一位上的数字,在相应的数组中自加 如果有一个数组元素等于2 说明至少有2个位上的数相同.
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
666 676 | cnt=1 | 666为三个数字相等的数,可却不是某个数的平方数所以cnt = 1,这个N值为676=pow*(26,2). |
0 10 | cnt= 1 | 0到10之间只有10的平方数符合条件,说明个位数的平方数不可能有两个位数相等 |
105 500 | cnt=6 | 符合题目要求,程序正确。 |
1.1.4PTA提交列表及说明
运行加时错误:之前用的另一种方法,未对定义变量赋值
解决方法:换了一种方法
1.2统计各位数字之和是5的数
题目内容描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1实验代码截图
1.2.2数据处理
|数据表达 |定义了t,s,i并对s,i进行了赋值 |
| ---- | ---- | ---- |
|数据处理 |运用了while和for循环 |
1.2.3造数据处理
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | count = 15, sum = 3720 | 符合题目要求,程序正确 |
-104 999 | count = 21, sum = 3885 | 测试负数也符合要求 |
1.1.4PTA提交列表及说明
编译错误:局部变量运用错误,定义了全局变量,用混
解决方法:定义两个s==0,一个局部变量,一个全局变量
二代码互评
同学代码
我的代码
不同以及相同的地方
我们都运用数组来定义num的长度为10,因为传入的整数的每位数可能是0~~9,而不是传入数的位数,同时用while语句来判断是否是某个数的平方数,且有位数相等。
3.学习总结
3.1学习进度条
第几周 | 这周所花时间 | 代码行 | 这周所学知识及简介 | 目前比较疑惑的问题 |
---|---|---|---|---|
第8周 | 13h | 166 | 学了for的双循环以及break和continue在语句中作用的不同点 | 运用for的双循环和break,continue解决实际问题 |
第9周 | 14h | 188 | 局部变量和全局变量的区别及用法 | 函数调用和声明 |
3.2累计代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习总结
3.3.2学习感悟
本周学习了函数及他的作用,怎样去确定函数还有定义函数的调用与声明,而两者的区别是函数的声明与函数的定义形式上十分相似,但是二者有着本质上的不同。声明是不开辟内存的,仅仅告诉编译器,要声明的部分存在,要预留一点空间。定义则需要开辟内存。