这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I—2019秋作业07 |
我在这个课程的目标是 | 理解并使用switch语句 |
这个作业在那个具体方面帮助我实现目标 | 完成PTA作业和教材巩固 |
参考文献 | [C语言程序设计] |
1PTA作业
1.1计算天数
1.1.1数据处理
数据表达:定义了三个整型变量y,m,d为年月日的缩写;再把每个月的case n:number=(第(N-1)个月以及之前月之和)变化表达式列出;
数据处理:先定义整型int变量,再用if-else语句判断平闰年,最后输出天数,平年闰年在2月份以后会有所不同。
伪代码:#include
int main(void)
{
int //定义变量
输入年月日
if(为闰年)
{
switch(根据月份来选择)
{
根据月份来进行累加
}
累计值加天数
}
else //f非闰年
{
switch(根据月份来选择){
根据月份来进行累加
}
累计值加天数
}
输出日期是该年中的第几天。
return 0;
}
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2000/06/23 | 175 | 2000年6月23日是这年的第175天 |
2005/03/02 | 61 | 输入非闰年,且输入较小 |
2005/12/02 | 336 | 输入非闰年,且输入较大 |
1.1.4PTA提交列表及说明
1.2题目2:统计学生成绩
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
1.2.1数据处理
数据表达:共定义了九个变量:N为学生总数,i为控制变量,grade为分数,w为变量,A,B,C,D,E为五分制分数;
数据处理:定义整型变量后,for结构中嵌套了switch语句
伪代码:
include
int main()
{
int 学生总数,控制变量,分数,变量,五分制分数;
int A=0,B=0,C=0,D=0,E=0;
scanf("%d",&n);
if(n>0)
{
for(i=1;i<=n;i++)
{
scanf("%d",&grade);
w=grade/10(判断五分制分数等级);
switch(w)
{
case 10:条件;break;
case 9:条件;break;
case 8:条件;break;
case 7:条件;break;
case 6:条件;break;
default:条件;break;
}
}
}
printf("%d %d %d %d %d",输出各个成绩);
return 0;
}
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
3 12 45 67 | 0 0 0 1 2 | A等级0个,B等级0个,C等级0个,D等级1个,E等级2个 |
4 7 9 45 80 | 0 1 0 0 3 | A等级0个,B等级1个,C等级0个,D等级0个,E等级3个 |
5 4 12 45 67 99 | 1 0 0 1 3 | A等级1个,B等级0个,C等级0个,D等级1个,E等级3个 |
1.2.4 PTA提交列表及说明
运行无错误直接复制粘贴
2代码互评
我自己代码截图
同学代码截图
1.他的一些量比我简单,而且还能够用一个表达式弄好
2.我用的平年闰年分开计算,运用if-else语句,该同学列出闰年的例子,推出平年。
3学习总结
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学习到的知识点简介 | 目前比较疑惑的问题 |
---|---|---|---|---|
第十周 | 26小时 | 526行多分支结构、字符型数据类型和逻辑运算符 | 循环类的题目没有完全掌握 | |
第十一周 | 21小时 | 158行 | switch语句的使用 | 无 |
3.2 累积代码行和博客字数
时间 | 博客字数 | 代码行 |
---|---|---|
第四周 | 713 | 0 |
第五周 | 713 | 0 |
第六周 | 1541 0 | 416 |
第七周 | 2419 | 569 |
第八周 | 3595 | 994 |
第九周 | 4676 | 1124 |
第十周 | 3558 | 685 |
第十一周 | 5412 | 900 |
3.3学习内容总结和感悟
我在这次作业中学到了switch语句,swintch语句能处理多分支结构,在一开始做PTA的时候感觉很难,但是当我做出一个题的时候感觉其他题的难度减低了 可能自己在慢慢进步吧!