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学习感悟
最大的感悟就是光听课不行,在课后需要多实践多写代码,对语句的运用才能更加灵活更加熟练,完成作业的速度才能更快,而不是到现在还在赶作业
posted @ 2020-11-08 10:17  胡佳怡  阅读(327)  评论(5编辑  收藏  举报