C语言I作业07

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业07
我在这个课程的目标是 理解并学会使用switch
这个作业在那个具体方面帮助我实现目标 作业练习加深理解并需要自己找资料学习
参考文献 《C语言教材》Switch用法

一、PTA作业(20分/题)

1.1计算天数

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

1.11数据处理

数据表达:定义三个整型,输入变量y,m,d。
数据处理:1.通过"y%4==0&&y%100!=0||y%400==0"判断平润年
        2.用case 1~case 12,用来统计每一种月份所包含的天数

伪代码

开始
    定义整形
    输入 年,月,日;
    if(平润年判别式)            /*y%4==0&&y%100!=0||y%400==0/*
    }
       switch(月份)
       {
       case 1: 表达式;跳出;
       。。。。。。
       case 11: 表达式;跳出;
       default: 表达式;跳出;
       }
    else
       {
       switch(月份)
        case 1: 表达式;跳出;
       。。。。。。
       case 11: 表达式;跳出;
       default: 表达式;跳出;
    }
结束

1.12实验代码截图

C语言I作业07_第1张图片

1.1.3 造测试数据

2001/08/08 220 2001年08月08日是该年的第220天
1980/08/20 233 1980年08月20日是该年的第233天
2006/11/11 315 2006年11月11日是该年的第315天

1.1.4 PTA提交列表及说明

C语言I作业07_第2张图片

因为先在Dev-c++上完成,所以没有错误.

1.2统计学生成绩

1.2.1 数据处理

数据表达:1.定义整形变量"i, A=0, B=0, C=0, D=0, E=0, N=0,score"
        2.用switch语句讨论6个案例A,B,C,D,E分别代表6个等级
        3.通过算式"score = grade/10"取十位数分等级
数据处理:1.运用'switch'语句并用'if'限定条件
        2.输入'grade'除以十看十位数字余下数字是多少,属于哪个等级

伪代码

开始
    定义整形
    输入 正整数N;
    for 循环到N>1000
    score = grade / 10;
    switch(分数)
       {
       case 10: A++;
       跳出;
       case 9: A++;
       跳出;
       。。。。。。
       case 6: D++;
       跳出;
       default: E++;
       跳出;
       }
       }
       输出成绩;
结束

1.2.2 实验代码截图

C语言I作业07_第3张图片

1.2.3 造测试数据

输入数据 输出数据 说明
77 54 92 73 60 65 69 1 0 2 3 1 等级A一人 等级B零人 等级C二人 等级D三人 等级E一人
88 99 66 77 55 44 33 1 1 1 1 3 等级A一人 等级B一人 等级C一人 等级D一人 等级E三人
100 99 98 97 96 95 94 7 0 0 0 0 等级A七人无其他等级学生

1.2.4 PTA提交列表及说明

部分正确:“switch"上面的"scanf"与"score"位置反了.(通过询问同学彭杰)
答案错误:开始打出"i=0"了。
编译错误:"case 6"后边没打"break"。
答案错误:A等成绩未组织清楚。如case10和case9都是表示A等成绩。(根据Dev-c++上的错误提示更改)
编译错误:使用未学习的数组,然后翻车了。(发现理解不了,换了种方法)

2.代码互评(5分)

同学代码(孙梦姣)

C语言I作业07_第4张图片
我的代码

C语言I作业07_第5张图片

(1)她的代码所占用的空间更少,只用了30+行,但明显我的更加美观。
(2)她只用1个switch语句比我的代码更加简洁,需要我去学习,考虑问题不够周到。

同学代码(彭杰)

C语言I作业07_第6张图片

我的代码

C语言I作业07_第7张图片

1.他运用数组去去输入学生的成绩,再在for循环中执行[i]/10,我的则是for循环中输入成绩,执行f=grade/10. 
2.他的更简单,但数组是目前未学习的,说明他善于解决问题,但我的代码比他更好理解.

三、学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第六周 21小时 247行 如何用 MinGW-w64 来编译C程序
第七周 7小时 118行 二分支结构
第八周 6小时 100行 掌握使用for循环语句实现指定次数的循环程序设计
第九周 9小时 124行 学会使用自定义函数 对于函数的返回,不是很理解
第十周 16小时 216行 字符型数据类型和自定义函数 对字符型不怎么了解
第十一周 20小时 258行 学习了switch语句 对switch后边括号里的变量怎么定义

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

C语言I作业07_第8张图片

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

3.3.1 学习内容总结

C语言I作业07_第9张图片

3.3.2 学习体会

1.不知不觉一周又过去了,这周学习兴趣贼高,想着去刷课外的题目,但是感觉还是对编程似懂非懂的感觉,应该是缺少练习不够上心。
2.可以的话希望老师上课对新知识讲解更仔细点而不是花大量时间回顾作业,也许是我天赋不够吧,感觉上课懂了,但自己运用起来经常出错。

你可能感兴趣的:(C语言I作业07)