C语言|博客作业02
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11452 |
这个作业的目标 | 熟练for语句与if else语句,提升能力 |
学号 | 20208957 |
1、PTA实验作业
1.1A除以B
给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。
1.1.1实验代码截图
1.1.2数据处理
数据表达
1.变量A、B:变量为整型,由输入得来,指输入的数。
数据处理
2.表达式:关系表达式、算数表达式。
流程结构:定义变量,赋值变量,else-if结构,输出结果。
1.1.3PTA提交列表及说明
Q1:求除法答案的计算方式有问题。
A1:如果A、B都是整数类型,那么A/B的结果都是整数,所以只有A*1.0/B的结果才是浮点数类型,才符合题目要求。
Q2:最后一个else后的括号条件。
A2:最后一个条件即最后一种情况,则不需要再写。
1.2比较大小
本题要求将输入的任意3个整数从小到大输出。
1.2.1实验代码截图
1.2.2数据处理
数据表达
1.变量a、b、c:变量为整型,由输入得来,指输入的数。
变量x、y:变量为整型,由赋值得来,用于比较大小。
数据处理
2.表达式:关系表达式,赋值表达式。
流程结构:定义变量,赋值变量,if结构,输出结果。
1.2.3PTA提交列表及说明
Q1:大小比较错误。
A1:需要借助两个新的变量x、y辅助abc来比较大小。
Q2:赋值太多导致混乱编译错误。
A2:现在草稿纸上把逻辑思路列出来,再写代码。
1.3计算阶乘和
对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。
1.3.1实验代码截图
1.3.2数据处理
数据表达
1.变量sum:变量为整型变量,由计算得来,用于求和。
i、n、t:变量为整型变量,由赋值得来。
数据处理
2.表达式:赋值表达式、关系表达式、算数表达式。
流程结构:定义变量,赋值变量,返回主函数,输出结果。
1.3.3PTA提交列表及说明
Q1:算不出正确的答案。
A1:需要再定义一个函数,再返回主函数才能得出结果。
2.阅读代码
#include <stdio.h>
#include <vector>
#include <queue>
#include <stack>
#include <string>
#include <set>
#include <map>
#include <algorithm>
#include <cmath>
#include <utility>
#include <set>
#include <functional>
#include <string.h>
#include <iostream>
#include <numeric>
#include <list>
using namespace std;
int main() {
int n, k;
scanf("%d %d", &n, &k);
vector<int> data(k);
for (int i = 0; i < k; ++i) {
scanf("%d", &data[i]);
}
int low = 1;
int high = n + 1;
while (high - low > 1) {
int mid = (high + low) / 2;
int cols = 0;
for (int i = 0; i < k; ++i) {
cols += data[i] / mid;
}
if (cols >= n) {
low = mid;
} else {
high = mid;
}
}
printf("%d\n", low);
for (int i = 0; i < k; ++i) {
for (int j = data[i] / low; j > 0; --j) {
if (n-- > 0) {
printf("%d\n", i + 1);
} else {
break;
}
}
}
}
我选的是ACM题库中的一道题,他是日本一种新型的拼图游戏,这个代码引用了数十个文件用来定义函数,看起来很复杂,但是它实际上用了我们熟悉的两个循环语句,for、while语句,还有学完很久的if-else语句。全篇代码排版很清晰,易懂,没有平常代码的啰嗦,值得借鉴与学习。
3.学习总结
3.1学习进度条
周/星期 | 这周所发的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10.19-10.25 | 九个小时 | 61 | 基础C语言知识输入输出函数 | 无 |
10.26-11.1 | 十个小时 | 102 | if-else语句 | 变量太多写的时候有点混乱 |
11.2-11.8 | 十个小时 | 170 | for循环语句 | 对语句的运用不是很灵活,想不清用哪种语句 |
3.2累计代码行和博客字数 | ||||
3.3学习感悟 | ||||
最大的感悟就是光听课不行,在课后需要多实践多写代码,对语句的运用才能更加灵活更加熟练,完成作业的速度才能更快,而不是到现在还在赶作业 |