zoukankan      html  css  js  c++  java
  • C语言I博客作业05

    问题 答案
    这个作业属于那个课程 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语句执行循环。sum存放数的每一位数字的立方和。用if-else语句判断sum和N的值是否相等。如果相等则输出1,不相等输出0.
    数据处理:运算符=是赋值,==是相等。sum+=(x%10)*(x%10)*(x%10)和sum=sum+(x%10)*(x%10)*(x%10)是不同的表达,相同的意义。
    函数参数:主调函数是main。被调函数是func,数据类型为整型。实参是void。形参是N,数据类型为const int。
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    1 0 一位数的整数,不是水仙花数
    28 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。用if语句进行判断,用了for语句执行循环。
    数据处理:当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 示例

    1.2.4 PTA提交列表及说明

    1.编译错误:在17行调用函数Goldbach时在后面多打了个分号。
    2.编译错误:在赋值时少打了个等号。
    

    二、代码互评

    2.1.1题目截图

    2.1.2第一份代码截图(左边的是我自己的代码,右边的是同学代码)

    相同之处:使用int定义了整型变量sum,置sum的值为0.都使用sum存放一个整数的各位数字平方之和。
    不同之处:1.我使用for语句,对i进行取余;她使用while语句,当n不等于0时,对n进行取余。
    2.我直接用x*x计算一个整数的各位数字平方,她调用幂函数计算一个整数的各位数字平方。
    3.我使用if-else语句,进行判断,如果sum取余后的值为0,输出The result is 1,否则输出The result is 0;她是直接使用return对sum进行取余。
    

    2.2.1题目截图

    2.2.2第二份代码截图(左边的是我自己的代码,右边的是同学代码)

    相同之处:使用int定义了整型变量sum和x,置sum的值为0.都用了if-else语句。用sum存放数的每一位数字的立方和。
    不同之处:1.我使用sum+=(x%10)*(x%10)*(x%10)计算数的每一位上数字的立方和,她调用了幂函数来计算。
    2.她比我多定义了一个整型变量i。
    

    三、学习总结

    3.1 学习进度条

    这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周 6小时 29行 对C语言、markdown语法,编程有了初步的认识 对编程一窍不通,只会照着书上打
    第二周 8小时 19行 学会如何提问,安装MinGW-w64并用它编译C程序 markdown语法掌握不熟练
    第三周 10小时 96行 关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 对编程中各大语句的运用不熟悉
    第四周 13小时 93行 for循环语句实现指定次数的循环程序设计 运用for语句时经常犯很多错误
    第五周 10小时 161行 用C语言编写程序 对编写函数和调用函数还有很多不熟悉

    3.2 累积代码行和博客字数

    3.3学习内容总结

    3.4学习感悟

    • 这周学习函数的编写及调用。对函数有了深一步的了解。但在做题中还是发现自己所储备的知识太少。在每出现一个新的东西之后,都应该要去试图了解它的含义和用法,即使不能完全看懂,也能在脑海里形成对它的初步了解。这样在它下一次出现的时候就不会太慌乱。例如在做pta时用到了break语句,但这个知识要到后续章节里才学,通过查阅资料,了解到当循环结构中出现多个循环条件时,break语句应和if语句配合使用,即条件满足时,才执行break跳出循环;否则,若break无条件执行,意味着永远不会执行循环体中break后面的其他语句。
  • 相关阅读:
    [上海线下活动]IT俱乐部新春首期活动: 高级Windows调试
    清除www.fa899.com
    [新功能]总是只列出标题
    [功能改进]更多的列表数定制
    新增Skin使用排行榜
    华硕P5GDCV Deluxe主板更换RAID 1中的故障硬盘步骤
    [WebPart发布]网站链接WebPart
    [通知]19:3020:30进行服务器维护
    [小改进]个人Blog首页显示随笔摘要
    新增两款Skin(clover与Valentine)
  • 原文地址:https://www.cnblogs.com/shenxinglou/p/11745768.html
Copyright © 2011-2022 走看看