这个作业属于那个课程|C语言程序设计II
---|:--😐---:
这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9826
我在这个课程的目标是|学习了自定义函数,以及求阶乘
这个作业在那个具体方面帮助我实现目标|教会了我怎么定义函数来解决问题
参考文献|C语言程序设计,百度
1.PTA实验作业(20分/题)
1.1 6-1 判断一个整数的各位数字平方之和能否被5整除 (10分)
题目内容:题目内容描述:编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。函数接口定义:int fun(int n),其中 n 是用户传入的参数。 函数判断n的各位数字平方之和能否被5整除,能被5整除则返回1,否则返回0。
1.1.1数据处理
数据表达:定义了m,n,s三个整型变量,然后用scanf函数对m赋值,其中 n 是用户传入的参数,开始令s=0,然后用过取余符号%输入判断,然后返回给s。
数据处理:使用公式s += (n % 10) * (n %10),其中的%就是取余符号,在其中还运用了while,if-else,的语句,当用户输入n,若能被5整除则返回1,否则返回0。
函数参数:主调函数为main(),被调函数为fun()函数和scanf()函数,m,n是实参,s是形参。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
12 |
The result is 1 |
题目中的 |
15 |
The result is 0 |
随机值 |
42 |
The result is 1 |
可以被5整除 |
1.1.4 PTA提交列表及说明
编译错误:有个语句忘记打;
编译错误:==少打一个,变成了赋值
**1.2 6-3 水仙花数判断 **(10 分)
题目内容:本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
函数接口定义:
int func(const int N);
其中N是用户传入的参数。N的值不超过int类型的范围。如果参数N是水仙花数,则返回1,否则返回0。
1.2.1数据处理
数据表达:定义了a,b,c,三个整型变量,分别表示该三位数的个,十,百位上的数,增加一个幂函数,用于后面求和,还有求余符号%。
数据处理:使用了a=N%10;b=N/10%10; c=N/100;处理a,b,c, 运用if(N==pow(a,3)+pow(b,3)+pow(c,3))求数N各位数的立方和,若等于原数则函数返回1,否则返回0.
函数参数:主调函数为main(),被调函数为int func(), scanf()
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 |
输出数据 |
说明 |
153 |
1 |
题目中数据 |
370 |
1 |
其他水仙花数 |
155 |
0 |
非水仙花数 |
1.2.4 PTA提交列表及说明
编译错误:这个挺容易,就是等号老是写成=,应该是==
2.代码互评(5分)
同学代码
我的代码
对比:该同学定义了sum求和符号然后运用了while,if-else语句进行判断,然后进行输出看这个数是不是水仙花数,感觉挺简单的
而我的则是直接定义三个整型变量来表示该三位数的个,十,百位,然后利用if-else语句进行输出就可以判断了
同学代码
我的代码
对比:该同学运用了没学过的do-while循环语句,而我只是简单的while循环语句,然后我们都是运用了求余符号来求的,其它都没什么大致区别
3.学习总结(15分)
3.1 学习进度条
周/日期 |
这周所花时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
5/22-5/25 |
3h |
140 |
基本的定义函数 |
实参,形参分布清 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
请用思维导图的形式将到目前为止所学的内容进行整理。
3.3 学习体会
经过这次作业我开始觉得PTA的作业是越来越难了,我们在写PTA作业时也渐渐使用了老师没有教过的知识,我觉得如果不自己往下学的话这些题目肯定是很难解决的,但是我在作业中也去发现了许多乐趣,像做表格什么的,还有思维导图都是很好玩的,这样在写博客园的时候就不会觉得无聊了,现在学的函数很难,但是到后面我们也会习惯的,加油!