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

    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11556
    我在这个课程的目标是 熟练switch的使用,找到自己与同学的差距
    这个作业在那个具体方面帮助我实现目标
    参考文献 C语言程序设计(3)、C primer plus
    学号 <20208956>

    1.PTA实验作业(20分/题)
    请再此处列出自己的排名图片。

    从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:

    1.1 题目名1 符号函数

    题目内容描述
    其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) = 1;若x等于0,sign(x) = 0;否则,sign(x) = −1。

    1.1.1数据处理

    数据表达:自定义函数sign(n)
    数据处理:使用if语句,判断三种情况,分别返回对应的值。
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入样例 输出样例 说明
    10 sign(10) = 1 >0
    0 sign(0) = 0 =0
    -1 sign(-1) = -1 x<0
    -2 sign(-2) =-1 x<0

    1.1.4 PTA提交列表及说明

    根据PTA提交列表,简要描述调试程序碰到的问题及解决办法。

    提交列表说明:

    1.部分正确:一开始的代码是在if语句里的内容是sign(x)= 0、sign(x)= 1、sign(x)= -1.然后return sign(x)。它显示的就是答案错误。
    2.因为return 返回的值就是这个函数所得到的结果,所以可以在每个if后返回值。

    1.2 题目2 计算天数

    输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

    1.2.1 数据处理

    数据表达:定义year,month,day,i都为整型
    数据处理:使用了if-else语句、逻辑运算符、switch语句
    用if((year%4==0&&year%100!=0)||(year%400==0))判断是否为闰年
    接着使用switch语句,case语句计算天数。
    

    1.2.2 实验代码截图


    1.2.3 造测试数据

    输入样例 输出样例 说明
    2009/03/02 61 非闰年
    2000/03/02 62 闰年
    2000/05/04 125 闰年
    2001/05/04 124 非润年

    1.2.4 PTA提交列表及说明


    1.没有弄清各月份的天数,在第八月之后将天数弄错了,导致七月之后的天数不对。
    2.case后表达式中出现了+day,出现了变量,编译错误。
    3.将case中的表达式改为i=x(天数),在switch结束后进行i+=x;算出天数。

    2.代码互评(5分)

    同学代码截图

    1

    2

    自己代码截图

    1.第一份代码使用字符型变量,用到了getchar()函数,if-else结构
    2.第二份代码与第一份基本一样,但是他在定义变量的时候用了xyz...使输出的时候变简单了很多。
    3.用了数组解题,把问题复杂了。不过这个思路值得学习。

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第八周 18 220 printf,scanf的使用,以及int类型
    第九周 22 231 if语句分支结构、调用数学函数
    第十周: 25 255 for、while、do...while语句、字符型数据的使用 switch语句多分支结构、break语句和continue语句
    第十一周 28 600左右 switch语句,逻辑运算符,数组,自定义函数 多个循环结构的嵌套使用容易出错
    第十二周 27 680左右 无新的知识点 排序问题
    第十三周 25 400左右 巩固switch语句、const限定符、short int、long int、long long int、unsigned整数类型

    3.2 累积代码行和博客字数(5分)

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结

    3.3.2 学习体会

    if+else+和+switch+case+这两种条件语句都是用来判断执行功能的,若条件分支是多个而且条件的值是整数或是一个字符值时就选switch而不选if。因为如果条件分支太多时要用if语句,这样一定会出现if的嵌套,如果if的嵌套越多时程序就会增大,这样运行效率就在降底。而switch就不同,它只要比较一次就可以找出条件的结果比起嵌套if它的效率就大大的提高了很多。switch也有约束条件,就是条件值一定要是一个整型数或是一个字符值,所以碰到它不能解决的问题时通常使用if语句。

  • 相关阅读:
    如何在Ubuntu下安装”.deb“、”.bin“、”.tar.gz“、”.tar.bz2“格式的软件包!
    安装tar.bz2文件
    tiny6410nfs挂载问题
    tiny6410SDK制作NFS文件系统
    linux压缩解压
    tiny6410的linux操作系统实验开发
    ubis文件系统的制作
    motion移植
    linux系统调用函数---12
    LED驱动程序分析
  • 原文地址:https://www.cnblogs.com/hongyinhongyin/p/14046060.html
Copyright © 2011-2022 走看看