这个作业属于那个课程 |
这个作业要求在哪里 |
我在这个课程的目标是 |
这个作业在那个具体方面帮助我实现目标 |
参考文献 |
1.PTA实验作业
1.1计算天数
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
输入样例1:
2009/03/02
输出样例1:
61
输入样例2:
2000/03/02
输出样例2:
62
1.1.1数据处理
数据表达:定义整型变量year, month, day1, day2, i, sum,year、month、day1为输入的年月日,day2为每月的天数,sum为今年的第多少天
数据处理:
#include<stdio.h>
int main()
{
int year, month, day1, day2, i, sum = 0;
输入年月日
for (当i>month循环结束)
{
switch (i)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
1、3、5、7、9、8、10、12月的天数为31天;
break;
case 4:case 6:case 9:case 11:
4、6、9、11月的天数为30天;
break;
case 2:
2月的天数
if (是不是闰年)
{
闰年2月为29天;
}
else
{
平年2月为28天;
}
跳出;
}
把每个月的天数进行累加;
}
输出这个日期是那一年的第几天;
}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2009/03/02 | 61 | 平年 |
2000/03/02 | 62 | 闰年 |
2100/03/02 | 61 | 平年 |
1.1.4 PTA提交列表及说明
提交列表说明:
答案错误:少加了输入的天数,在计算完月份的天数后忘记加输入的天数了。
改正:在最后输出里加上day1。
1.2 整数的分类处理
给定 N 个正整数,要求你从中得到下列三种计算结果:
- A1 = 能被 3 整除的最大整数
- A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
- A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
输入格式:
输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。
输出格式:
在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE
。
输入样例1:
8
5 8 7 6 9 1 3 10
输出样例1:
9 3 6.5
输入样例2:
8
15 18 7 6 9 1 3 10
输出样例2:
18 3 NONE
1.2.1数据处理
数据表达:定义整型变量N, i, n, number,A,输入N确定输入N个整数,i为循环条件,n为输入的整数,number用于switch的条件,定义A1,A2为整型,A3为浮点型,A用于确定符合A3条件的个数,定义字符型ch为NONE
。
数据处理:
#include<stdio.h>
int main()
{
int N, i, n, number, A1 = 0, A2 = 0, A = 0;
double A3 = 0;
char ch[] = "NONE";
输入N;
for (循环直到i>=n)
{
输入n;
if (条件A1)
{
number = 1;
}
else if (条件A2)
{
number = 2;
}
else if (条件A3)
{
number = 3;
}
switch (number)
{
case 1:条件A1成立
if (n > A1)
{
A1 = n;
}
break;
case 2:条件A2成立 A2++; break;
case 3:条件A3成立 A3 += n; A++; break;
}
}
分别输出A1 A2 A3/A,如果条件不成立就输出"NONE"
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
8 5 8 7 6 9 1 3 10 | 9 3 6.5 | 符合A1,A2,A3条件的数都有 |
8 15 18 7 6 9 1 3 10 | 18 3 NONE | 没有符合A3条件的数 |
1 6 | 6 NONE NONE | 只有A1符合条件 |
1 4 | NONE 1 NONE | 只有A2符合条件 |
1 5 | NONE NONE 5.0 | 只有A3符合条件 |
1.1.4 PTA提交列表及说明
部分正确:在最后输出时出错了,A2不成立时输出NONE
后面没有空格。
改正:printf("%c", ch)
,在%c
后面加个空格。
2.代码互评
同学代码截图
自己代码截图
1.他的代码直接是直接把到每个月多少天算了出来,自己算的天数。
2.我是定义每个月的天数,然后进行累加,我们写程序就是要交给计算机去计算,而他却是自己算出来的,舍本逐末了。
3.我们写程序就是为了偷懒,肯定是怎么简便怎么来,能偷懒就偷懒。
同学代码截图
自己代码截图
1.这位同学的代码用了数组来写,直接把分数存到了数组里,这位同学能够自学数组,赶到老师前面。
2.他跟我的代码计算A1,A2,A3的条件是反过来的,他是把余数求出来,我是把条件里的数减去在求余。
3.其他的思路都差不多,但的if-else语句后面A1=A1就有点多余了。
3.学习总结
3.1 学习进度条
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
这周学的时switch语句,属于分支结构,这个语句我之前已经自学了,这次做作业非常顺手,现在不理解的地方主要在后面,对于只能和结构体比较疑惑,整个学了一遍,但学完后感觉还是不懂,不会用。学了这么多,写题目感觉还是好吃力,学会了语法,写题目也就是那几个语法但就是不会写,写题目就跟做数学题一样,主要还在于找不找得到其中的关系,要有那个逻辑思维。