C语言I博客作业06

C语言程序设计 2020计算机3班
作业要求 作业要求
课程目标 熟悉多分支结构switch语句的使用
作业帮助实现目标的具体方面 多次使用不熟练的内容,强化记忆从而达到目标
参考文献 C语言程序设计
学号 20209003

1.PTA实验作业

从PTA题目集中选出2个你最满意的题目完成.

1.1 计算天数

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

  • 1.1.1 实验代码截图


  • 1.1.2 数据处理

数据表达:
  变量及其类型:
    整型变量:y,m,d,i,n,sum。
  变量由来:通过题目已知定义。
数据处理:
  表达式:y%4==0&&y%100!=0)||y%400==0,i=1,n=1,i<m,i++,n++,i==2,sum=sum+29,i==1||i==3||i==5||i==7||i==8||i==10||i==12,sum=sum+31,i==4||i==6||i==9||i==11,sum=sum+30,sum=sum+28,i==m,sum=sum+d。
  流程结构:分支结构和循环结构。 
  • 1.1.3 造测试数据

输入数据 :年\月\日 输出数据 :天数 说明
2009\ 03\ 02 61 平年
2000\ 03 \ 02 62 闰年
  • 1.1.4 PTA提交列表及说明

1.部分正确:误将能被400整除写为能被100整除。
2.部分正确:将平年的二月误写成了29天。

1.2 多分支表达-倍数问题

键盘输入1个正的整数A,如果A是3的倍数但不是5的倍数,则输出A除以5的余数。如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数
输入格式:
1个正整数
输出格式:
如果是3的倍数但不是5的倍数,则输出A除以5的余数。 如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。 如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数。 如果A不是正整数,没有任何输出。

  • 1.2.1 实验代码截图

  • 1.2.2 数据处理

数据表达:
  变量及其类型:
    整型变量:A,result。
  变量由来:通过题目已知定义。
数据处理:
  表达式:A%3==0&&A%5!=0,result=A%5,A%3!=0&&A%5==0,result=A%3,A%3!=0&&A%5!=0,result=A%15。
  流程结构:分支结构。 
  • 1.2.3 造测试数据

输入数据 输出数据 说明
18 3 是3的倍数但不是5的倍数
20 2 是5的倍数但不是3的倍数
7 7 既不是5的倍数也不是3的倍数
15 无输出 既是5的倍数也是3的倍数
-7 无输出 非正整数
  • 1.2.4 PTA提交列表及说明

1.编译错误:错写入break,忘记应在有switch的条件下才能使用。
2.部分正确:将printf()写在分支结构的外面,导致强制考虑A不为正整数的可能性。所以应该将其写在每一个分支结构里面。

2.代码互评

  • 同学代码截图

    • 计算天数
      • 同学一
      • 同学二
  • 自己代码截图

    • 计算天数

  • 不同之处

    • 1.同学一用的switch语句,比用if语句的思维难度要更小一点。
    • 2.同学二用的switch语句,但是看上去更简洁。对方用的直接是加法,而我用的是循环累加。

3.学习总结

3.1学习进度条

周\日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
8\11.22-11.28 约9小时 约220行 熟悉多分支结构switch语句的使用 分不清何时用等于何时用赋值
7\11.15-11.21 约7小时 约200行 学习多分支结构、字符型数据类型和逻辑运算符
6\11.8-11.14 约6小时 约95行 生成乘方表与阶乘表 不理解函数的定义和调用如果将主函数放在前面,第一次出现的double fact(int n)后要加分号
5\11.1-11.7 约8小时 约140行 for语句 输出%d与%6.1lf之间不能有空格的原因
4\10.18-10.24 约6小时 约105行 if-else语句 不能理解求个位数用n%10,十位数n/10%10等

3.2累积代码行和累积博客字数

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

体会:

  • 暂时无法灵活使用switch语句,这次PTA的作业靠直觉只能使用if语句,switch语句还需多加应用练习。有时候还无法判断使用字符型变量的时机。总之,这周还需多加练习,弄清楚switch语句和字符型变量的适用范围。
posted @ 2020-11-27 16:37  藐致  阅读(170)  评论(5)    收藏  举报