![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++刷题
文章平均质量分 73
cold Writer
这个作者很懒,什么都没留下…
展开
-
洛谷--算法题
1. A+B Problem(高精)Code:#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cmath>#include <iomanip>#include <vector>using namespace std;int main() { string a,b; v原创 2021-09-07 10:58:59 · 175 阅读 · 0 评论 -
洛谷--入门题 (2)
1.蛇形方阵myCode????:#include <iostream>#include <iomanip>using namespace std;int main() { int n; int cnt = 1; int map[10][10]; int a = 0; int b = 0; for (int i = 0; i < 10; ++i) { for (int j = 0; j < 10;原创 2021-08-21 14:45:33 · 453 阅读 · 0 评论 -
洛谷--入门题 (1)
1.上学迟到代码:(转)#include<cstdio>#include<cmath>using namespace std;int s, v;int main(){ int min, hour; scanf("%d%d", &s, &v); min = ceilf(double(s) / v + 10); hour = 7 - min / 60; if (hour < 0) hour += 24; min %= 60; m原创 2021-07-23 09:35:25 · 768 阅读 · 1 评论 -
PAT (Basic Level) Practice 刷题笔记(6)
第一题笔记:因为要对每一位数字进行处理,将数字输入为字符数组更方便。输入后分别创建cnt和flag数组,cnt用来计算数字的出现个数,flag用来标记该数字是否出现过,最后用vector类型的res来升序存储出现过的数字,最后按条件输出即可。对于数字字符,只要将其剪去‘0’即可得到相应的数字。我的代码:#include <iostream>#include <vector>#include <cstring>using namespace std;原创 2021-07-08 13:13:45 · 88 阅读 · 0 评论 -
PAT (Basic Level) Practice 刷题笔记(5)
第一题笔记:jiawin、yiwin分别表示甲乙赢的次数,s和t分别表示每一次甲乙给出的手势,maxjia和maxyi分别表示甲乙获胜次数最多的手势所对应的下标(012分别表示BCJ),枚举每一次甲乙手势的胜负结果并累加到jiawin和yiwin中,最后根据题目要求输出结果代码:#include <iostream>using namespace std;int main() { int n; cin >> n; int jiawin = 0原创 2021-07-08 11:03:59 · 97 阅读 · 0 评论 -
PAT (Basic Level) Practice 刷题笔记(4)
第一题笔记????:我觉得按照条件顺序输出是这道题的难点,我自己也没有想出怎么解决这个问题。看了别人的代码之后我发现,可以在Student这个结构体里再加一个flag标签,根据题目的不同条件,对每一个考生赋予不同的标签,并且标签的数据类型为整形,更重要的是,标签的大小将影响最后考生的排序,比如标签的数字越小,则优先排在前面。这样就可以很好地解决按序输出的问题。3.比较函数bool cmp(node a , node b){ if(a.flag != b.flag)原创 2021-07-08 10:25:28 · 72 阅读 · 0 评论 -
PAT (Basic Level) Practice 刷题笔记(3)
第一题笔记:1.这道题比较简单,但是有一个地方要注意,就是题目给出的整数范围是-231 ~231 ,因此int类型并不适用,所以要将arr数组定义为长整形long或long long。我的代码:#include <iostream>using namespace std;int main(){ int n; long long arr[100]; int res[100]; cin>>n; for (int i = 0; i原创 2021-07-06 21:13:25 · 113 阅读 · 0 评论 -
PAT (Basic Level) Practice 刷题笔记(2)
第一题笔记:要判断一个数是不是关键数其实可以理解为看有没有被其他的数“经过”,因为每一个数都会最终回到1,在这期间会经过一些数字,如果这个数字被经过了,那它就被覆盖了,也就不是关键数了。理解了关键之后,就很好写了,只需要分别让待验证的数回到1,对途中经过的每一个数进行标记,当每一个待验证的数都走到1之后,判断待验证的数是否被标记过,如果被标记过,则不是关键数,反之则为关键数。冒泡排序有点生疏了,再熟悉一下:for (int i = 0; i < len - 1; ++i) {原创 2021-07-04 20:50:09 · 96 阅读 · 0 评论 -
PAT (Basic Level) Practice 刷题笔记(1)
第一题笔记:首先,第一个难点在于如何输入:“1234567890987654321123456789“这么大的数字,C++中最大的long long 数据类型所能表示范围:-2^63 ~ 2^63-1,仍然无法保存,这种情况就要将数字以字符数组的形式输入更合适。以字符数组输入长数字之后,就要将每一个字符数字转换为整形数字,这里用的方法是:arr[i] - '0'。将数字字符减 ‘0’ 即可得到整型数字。最后通过swtich分情况输出即可。代码:#include <iostream&g原创 2021-07-03 14:32:25 · 144 阅读 · 0 评论 -
C++ 类与对象 附加练习题
6-1 Point类的运算 (10 分)定义Point类,有坐标x,y两个私有成员变量;对Point类重载“+”(相加)、“-”(相减)和“==”(相等)运算符,实现对坐标的改变,要求用友元函数和成员函数两种方法实现。对Point类重载<<运算符,以使得代码Point p; cout<<p<<endl;可以输出该点对象的坐标。函数接口定义:实现Point类。裁判测试程序样例:/* 请在这里填写答案 */int main(int argc, cha.原创 2021-05-22 16:55:08 · 2636 阅读 · 0 评论