C语言I作业07
这个作业属于那个课程|C语言程序设计II
---|:--😐---:
这个作业要求在哪里|链接
我在这个课程的目标是|学会switch
这个作业在那个具体方面帮助我实现目标|PTA作业
参考文献|C语言程序设计,百度,Cpriimer Plus
1.PTA实验作业

1.1 题目名1
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
1.1.1数据处理
数据表达:定义了4个整形变量
数据处理:主要利用switch语句和if条件语句
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 2000/08/23 | 236 | 这天是今年的第236天 |
| 2019/11/08 | 312 | 这天是今年的第312天 |
| 2025/11/08 | 312 | 这天是今年的第312天 |
1.1.4 PTA提交列表及说明

运行超时:
在判断是否是闰年这里使用了while语句,把它当成了判断语句。
部分正确:
1.把是否等于==写成了赋值=。
2.输入函数scanf中%d之间未加/。
1.2 题目2
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
·大于等于90分为A;
·小于90且大于等于80为B;
·小于80且大于等于70为C;
·小于70且大于等于60为D;
·小于60为E。
输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
1.2.1 数据处理
数据表达:定义了8个整形变量
数据处理:用了多条for循环语句和switch语句
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| N=3,score:99 85 89 | 1 2 0 0 0 | AB等级人数分别为1,2 |
| N=2,score:100 0 | 1 0 0 0 1 | AE等级人数分别为1,1 |
| N=3,score:90 85 75 | 1 1 1 0 0 | ABC等级人数分别为1,1,1 |
1.2.4 PTA提交列表及说明

说明:
输入多个N个学生的百分制成绩时,一直是第一个数据在运行,不会切换到第二个及以后的数据。后来看了同学的代码也没什么不同。就只有scanf()函数的位置不同。把它放在for语句之内就把问题解决了。
2.代码互评
同学代码截图

自己代码截图

不同
我的是把每月天数算出来再利用switch来计算,他的则把月数分类。相较下他的代码更有代码的感觉。
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 11.2-11.7 | 22h | 156 | switch语句 | 字符型函数 |
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
平时要多加练习,还有就是要学会自学,自己查资料。不然会感觉越来越难。

浙公网安备 33010602011771号