C语言I博客作业07

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业07
我在这个课程的目标是 熟悉多分支结构switch语句的使用,更加熟练
这个作业在那个具体方面帮助我实现目标 switch语句得到训练,锻炼逻辑思维能力
参考文献 C语言程序设计,百度,搜狗百科

1.PTA作业

1.PTA实验作业

1.1计算天数

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

1.1.1数据处理

数据表达:定义整型变量year,mouth,day,total;year,mouth,day为输入的年月日,total为那一年的第几天
数据处理:
int year,mouth,day,total;(定义整型变量)
输入年月日
if(闰年判断条件)
then
do switch语句
{case 1:case 2:case 3:case 4:case 5:case 6:
case 7:case 8:case 9:case 10:case 11:case 12:}(分别是day加前面月份日期和)
else
switch语句
{case 1:case 2: case 3:case 4:case 5:case 6:
case 7:case 8:case 9:case 10:case 11:case 12:}(分别是day加前面月份日期和)
输出这一天为该年的第几天;

1.1.2实验代码截图


1.1.3造测试数据

输入数据 输出数据 说明
输入数据 输出数据 说明
2003/03/02 61 非闰年跨2月
2000/03/02 62 被400整除的闰年跨2月
2004/04/05 96 普通闰年跨2月
2000/05/14 135 被100整除的非闰年跨4月
2003/11/17 231 非闰年跨9月
2004/01/12 12 闰年1月
2003/01/13 13 非闰年1月

1.1.4PTA提交列表及说明


提交列表说明:
1.编译错误:printf("%d",total)后面的‘;’return 0,} 在devc++上复制过去的时候没有复制到,就少了return 0,} 后来改了
2.在devc++上没有考虑到被100整除的闰年跨4月的情况,后来问其他人就加上去了

1.2统计学生成绩

内容给定 N 个正整数,要求你从中得到下列三种计算结果:
A1 = 能被 3 整除的最大整数
A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。
在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE。:

数据表达:定义整型变量N,i为循环终止条件,remainder为余数,num输入的数,A1,A2;定义浮点型变量A3,average为平均数,total数的和
数据处理:
头文件include
主函数int main()
{
N, i, remainder, num, A1 , A2;(定义整型变量)
A3, average , total ;(浮点型变量)
输入N;
for i <--1toN
do
输入num
取num除以3的余数
switch 语句
case 0:ifA1 < num ,do num<--A1;
case 1:A2累加
case 2:和等于num累加; A3累加
平均数等于和除以A3;
if A1=0
then 输出NONE
else
输出A1
if A2 = 0
then 输出NONE
else
输出A2
if total = 0与 A3 = 0
then 输出NONE
else
输出average;

1.2.2实验代码截图


1.2.3造测试数据

输入数据 输出数据 说明
输入数据 输出数据 说明
8 5 8 7 6 9 1 3 10 9 3 6.5 样例1等价,3种都有
8 15 18 7 6 9 1 3 10 18 3 NONE 样例2等价,缺第3种
4 3 6 9 12 12 NONE NONE 全被3整除
4 4 7 10 13 NONE 4 NONE 全是3K+1型
4 5 8 11 14 NONE 4 NONE 全是3K+2型
0 NONE NONE NONE 最小的N

1.2.4PTA提交列表及说明


提交列表说明:
1.格式错误:只有在样例2等价,缺第3种,其他情况都是格式错误,我将NONE后面加了空格,但是还是错误
2.格式错误:问了同学之后将前两个输出加了空格,而第三种情况的空格删掉

2.代码互评

同学的代码


同学的代码

自己的代码



1.第一位徐同学的代码把数字分别加起来,我和杨同学把月份的日期都加起来了
2.变量不同的有sum,total,date,有相同的year,mouth,day,但是本质不变
3.我和徐同学的比杨同学要复杂得多,我们的有20多种情况,杨同学只有10多种可以向她学习
4.杨同学后面加了if语句,能够将另一种情况包括进去
5.我们都用了((year%40&&year%100!=)||year%4000)来判断闰年

3.学习总结

3.1学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第六周 20h 60 用WinGW-w64来编译C程序 文档真的打不开,可能是电脑原因
第七周 10h 90 关系运算,if-else语句,格式化输入语句scanf()
第八周 8.5h 80 for的循环语句,指定次数的循环程序设计 不太会文字与数学的转换
第九周 8h 100 函数的调用和定义的初步认识 自定义函数不熟悉
第十周 10h 170 多分支结构、字符型数据类型和逻辑运算符 多个数据输出不熟练
第十一周 11h 220 熟悉多分支结构switch语句的使用 逻辑思维能力差

3.2累积代码行和博客字数

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

1.时间太紧了,熬夜赶作业,主要是自己不怎么会,要不然也没那么累了
2.需要有较强的逻辑思维能力,我有一点欠缺,难受
3.每一次写作业都需要翻书,对知识不熟悉
4.在网上听一些关于C语言的课,还是不太懂
5.当面对题目时,只是脑袋一片空白,不知道用什么语句

原文地址:https://www.cnblogs.com/zhangsanri/p/11813472.html