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.打代码的时候速度要快一点,用学会利用百度这个工具,希望自己能继续努力学习有关代码的知识,做题目的时候速度快一点,反应灵敏一点。

posted @ 2019-11-08 11:01  -追梦少年-  阅读(284)  评论(8编辑  收藏  举报