问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9826 |
我在这个课程的目标是 | 对函数的定义和调用有初步的认识,能模仿编程 |
这个作业在那个具体方面帮助我实现目标 | 用C语言编写程序 |
参考文献 | 《C语言程序设计》 |
一、PTA实验作业
1.1水仙花数判断
题目内容描述:本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如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.1.1数据处理
数据表达:先用int定义整型变量sum,x。再将N的值赋给下x,然后用while语句执行循环。用if-else语句判断sum和N的值是否相等。如果相等则输出1,不相等输出0. 数据处理:运算符=是赋值,==是相等。 函数参数:主调函数是main。被调函数是func,数据类型为整型。实参是void。形参是N,数据类型为const int。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | 0 | 不是水仙花数 |
153 | 1 | 是水仙花数 |
155 | 0 | 不是水仙花数 |
1.1.4 PTA提交列表及说明
1.编译错误:字母错误,把while打成了whiie。 2.编译错误:return 0;中用了中文字符的分号。
1.2使用函数验证哥德巴赫猜想
题目内容:本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
函数接口定义:
int prime( int p );
void Goldbach( int n );
其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数Goldbach按照格式“n=p+q”输出n的素数分解,其中p≤q均为素数。又因为这样的分解不唯一(例如24可以分解为5+19,还可以分解为7+17),要求必须输出所有解中p最小的解
1.2.1 数据处理
数据表达:先用int定义两个整型变量prime,i。置prime为0,置i为2.运用了for语句和if语句。 数据处理:当m不为1时,p%i==0意为p能被某个i整除,可判定m不是素数。 函数参数:主调函数是main。被调函数是prime,数据类型是整型。实参为void。形参为p,数据类型是整型。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
89 100 | 89 is a prime number |
90=7+83, 92=3+89, 94=5+89, 96=7+89, 98=19+79
100=3+97, |无|
1.2.4 PTA提交列表及说明
1.编译错误:在17行调用函数Goldbach时在后面多打了个分号。 2.编译错误:在赋值时少打了个等号。
二、代码互评(左边的是我自己的代码,右边的是同学代码)
2.1.1题目截图
2.1.2两份代码截图
相同之处:使用int定义了整型变量sum,置sum的值为0.
不同之处:我使用if-else语句来判断sum是否等于N,即一个整数的各位数字平方之和能否被5整除;她使用while语句,当n不等于0时,对n进行取余,调用幂函数计算一个整数的各位数字平方之和。
2.2.1题目截图
2.2.2两份代码截图
相同之处:使用int定义了整型变量sum和x,置sum的值为0.都用了if-else语句。
不同之处:我使用了while语句。对x进行取余,计算数的每一位上数字的立方和与数本身是否相等。她调用了幂函数来计算。
三、学习总结
3.1 学习进度条
周 | 这周所花的时间 | 代码行学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|
第一周 | 6小时 | 29行 | 对C语言、markdown语法,编程有了初步的认识 |
第二周 | 8小时 | 19行 | 学会如何提问,安装MinGW-w64并用它编译C程序 |
第三周 | 10小时 | 96行 | 关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 |
第四周 | 13小时 | 93行 | for循环语句实现指定次数的循环程序设计 |
第五周 | 10小时 | 161行 |
3.2 累积代码行和博客字数
3.3学习内容总结
3.4学习感悟
- 这周学习函数的编写及调用。对函数有了深一步的了解。但在做题中还是发现自己所储备的知识太少。在每出现一个新的东西之后,都应该要去试图了解它的含义和用法,即使不能完全看懂,也能在脑海里形成对它的初步了解。这样在它下一次出现的时候就不会太慌乱。