C语言I博客作业07
||
--|:--:
这个作业属于那个课程|C语言程序设计II
这个作业要求在哪里|作业
我在这个课程的目标是|深入学习switch语句及了解switch语句的作用
这个作业在那个具体方面帮助我实现目标|学到了可以处理多分支选择问题的switch语句
参考文献|C语言程序设计(第3版),百度
1.PTA实验作业
1.1 计算天数
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
1.1.1数据处理:
数据表达:定义了y,m,d,s,y,m,d是用户输入的,s是用来输出的,都是整形变量。
数据处理:
#include<stdio.h>
int main(void)
{
int //定义变量
输入年月日
if(为闰年)
{
switch(根据月份来选择)
{
根据月份来进行累加
}
累计值加天数
}
else //f非闰年
{
switch(根据月份来选择){
根据月份来进行累加
}
累计值加天数
}
输出日期是该年中的第几天。
return 0;
}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2000/03/02 | 62 | 输入闰年 |
2005/03/02 | 61 | 输入非闰年,且输入较小 |
2005/12/02 | 336 | 输入非闰年,且输入较大 |
1.1.4 PTA提交列表及说明
我在vs上面运行无误后复制粘贴。
1.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 数据处理
数据表达:定义了n, i, a, b, c, d, e,g,grade;n,grade是用户输入的值;n, i, a, b, c, d, e,g,是整形,grade是浮点型变量;
数据处理:
#include<stdio.h>
int main(void)
{
定义变量并对a,b,c,d,e进行赋值
输入学生人数
for (根据学生人数来进行循环) {
输入成绩
根据 整数/整数=整数的原则来取成绩的前面数字
switch (根据前面数字来选择) {
根据具体的选择来进行相应的累加
}
}
输出a,b,c,d,e,的个数
return 0;
}
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
98 | a | 数据较大 |
77 | c | 数据居中 |
45 | e | 数据较小 |
1.2.4 PTA提交列表及说明
我在vs上面运行无误后复制粘贴。
2.代码互评
同学代码截图:
同学代码截图:
自己代码截图:
1.第一位同学的代码比我的代码多了个for循环,这里for循环可以用来判断输入是否为正数,而且两个int可以合并来减少代码行;
2.第二位同学的代码用了新知识—数组,这里数组可能更好用,但第二位同学的代码可以适当简洁一些;
3.总的说来:学习新的东西来解决新的问题;在编代码的时候用最简洁代码来编写代码。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周 | 17h | 387 | 定义两个变量,对for循环有更进一步的了解 | 对于基本知识还是不够扎实 |
第九周 | 20h | 429 | while循环,定义和调用函数 | 对于定义和调用函数还是不怎么了解 |
第十周 | 18h | 476 | for循环和if-else语句之间嵌套 | 读完题目后大脑里面没有相应的代码 |
第十一周 | 17h | 573 | switch可以处理多分支问题 | 对于编程题不能很快的写出代码 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.我在这次作业中学到了switch语句,swintch语句能处理多分支结构,在一开始做PTA的时候感觉很难,但是当我做出一个题的时候感觉其他题的难度减低了;
2.要学会利用整形/整形用来取前面的数字来简便运算,同时这是一种好的思路,另外自己要熟悉代码,提高打代码的速度;
3.打代码的时候速度要快一点,用学会利用百度这个工具,希望自己能继续努力学习有关代码的知识,做题目的时候速度快一点,反应灵敏一点。