C语言I博客作业05

假如想象 提交于 2019-12-02 12:51:06
问题 答案
这个作业属于那个课程 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学习感悟

  • 这周学习函数的编写及调用。对函数有了深一步的了解。但在做题中还是发现自己所储备的知识太少。在每出现一个新的东西之后,都应该要去试图了解它的含义和用法,即使不能完全看懂,也能在脑海里形成对它的初步了解。这样在它下一次出现的时候就不会太慌乱。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!