这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 我的作业 |
我在这个课程的目标是 | 学习switch并回顾以前学习语句 |
这个作业在那个具体方面帮助我实现目标 | 复习了自定义函数,学会了switch |
参考文献 | 百度百科 |
1.PTA实验作业(20分/题)
1.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 day s。
数据处理:#include<stdio.h>
申明自定义函数判断闰年
申明自定义函数计算天数
int main() {
设置整型变量 年 月 日并初始化
scanf("%d/%d/%d", &year, &month, &day);
int s = 传入 月 日 给函数计算天数;
switch (传入 年 给函数判断) {
case 1: if (month > 2)
闰年减一
break;
default:if (month > 2)
非闰年减二
break;
}
printf("%d", s);
}
int a(int year) {判断闰年函数语句}
int b(int month, int day){计算天数函数语句}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2000/12/16 | 351 | 闰年 |
2008/09/05 | 249 | 闰年 |
2003/07/06 | 非闰年 |
1.1.4 PTA提交列表及说明
提交列表说明:
- 部分正确:在函数判断闰年时,未设置非闰年返回值,导致非闰年判断出错。
1.2 题目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 a1 a2 *a b(a申请了虚拟内存)定义了浮点型变量a3
数据处理:#include<stdio.h>
#include <malloc.h>
int main() {
定义整型变量 n i a1 a2 *a(a申请了虚拟内存)
定义浮点型变量a3
scanf("%d", &n);
确定a数组的长度
接受数据
定义整型变量b
进行判断
输出结果
}
###
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
7 2 3 5 7 10 21 11 |
21 2 6.0 | 普通测试 |
2 5 7 |
NONE 1 5.0 | 无3倍数 |
2 9 4 |
9 1 NONE | 无3k+2数 |
1.2.4 PTA提交列表及说明
提交列表说明:
- 部分正确:未设置没有数据的情况导致部分正确。
2.代码互评(5分)
同学代码截图
自己代码截图
不同点:
- 该同学代码把十二个月都分情况,用switch接入,而我则利用了自定义函数判断计算。
3.学习总结(15分)
3.1 学习进度条(5分)
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
- 本次我们学习了switch,知道一种多接口判断函数,可以分情况来执行不同语句或函数。
- 了解了数组。
3.3.2 学习体会
- 总的来说代码越来越难,不管是写还是找错误都变复杂,但是也越来越有趣,只有用心去学还是能学会的,不会就多百度,没有解决不了的问题。