C/C++
ChAnGe&K
这个作者很懒,什么都没留下…
展开
-
王道 第三章 习题3.7找位置
/** 找位置* 对给定的一个字符串,找出【有重复】的【字符】,并给出其位置。* 如:abcaaAB12ab12* 输出:* a:0,a:3,a:4,a:9* b:1,b:10* 1:7,1:11* 2:8,2:12** 直接的方法就是直接两层遍历* 一个指针p定位,一个指针q扫描,* 当*p==*q,输出并将*q修改为非字母非数字的字符,比如'*'*/#include <iostream>#include <vector>#include <a原创 2021-02-05 20:42:33 · 124 阅读 · 0 评论 -
王道 第三章 习题3.6打印极值点下标
/** 打印极值点下标* 在一个整数数组上,对于下标为i的整数,* 如果它【大于所有】它相邻的整数,或者【小于所有】它相邻的整数,* 则称为该整数为一个极值点,极值点的下标就是i。* * 其实就是在一个数组中寻找这样的值的下标:* 1. 非边界点,满足其值同时小于或同时大于其左右点的值* 2. 起始点,满足其值小于或大于其右边的值* 3. 末尾点,满足其值小于或大于其左边的值* * Input:* k (amount of elements)* data_k (k elements原创 2021-02-05 19:15:29 · 412 阅读 · 0 评论 -
王道 第三章 习题3.5找最小数
/** 找最小数* 第一行输入一个数n(1 <= n <= 1000),* 下面输入n行数据,每一行有两个数,分别是x y。* 输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。 * * 也就是在n组数据中,先以x为基准,找到x最小的数对,再对这些数对,以y为基准,找到y最小的数对* * Input:* n* data_n(x y)* * Output:* x y*/#include <iostream>#include <原创 2021-02-05 18:58:52 · 174 阅读 · 0 评论 -
王道 第三章 例题3.5查找
/** 查找* 输入数组长度n,输入数组 a[1...n],输入查找个数m,输入查找数字b[1...m]* 对每一个查找的数字分别输出 YES or NO * 在数组中查找到则YES,否则NO 。* * Input:* n* data_n* m* x_m* * Output:* (m行)* YES or NO*/#include <iostream>#include <vector>using namespace std;int main()原创 2021-02-05 17:46:17 · 165 阅读 · 0 评论 -
王道 第三章 例题3.4找x
/** 找x* 输入一个数n,然后输入n个不同的数值,再输入一个值x,输出这个数值在数组中的下标(从0开始,若不在数组中则输出-1)* * Input:* n * data* x* * Output:* pos_x*/#include <iostream>#include <vector>using namespace std;int main() { int n = 0, x = 0; while (cin >> n) { ve原创 2021-02-05 17:36:36 · 101 阅读 · 0 评论 -
王道 第三章 习题3.4奥运排序问题
/** 奥运排序问题* 按要求,给国家进行排名。* 给定国家或地区的奥运金牌数、奖牌数、人口数(百万)* 采用4种排序方式分别进行排名,得出各个国家最高排名以及对应的排名方式,* 若不同的排名方式得出的最高排名相同则采用编号更小的排名方式* * 4种排序方式编号从小到大:金牌总数,奖牌总数,金牌人口比例,奖牌人口比例* * !需考虑并列排名* !需要考虑金牌总数、奖牌总数、人口数为零的情况,且当:- 1.金牌总数、人口数均为0时,金牌人口比例为0- 2.奖牌总数、人口数均为0时,奖牌原创 2021-02-05 17:23:12 · 192 阅读 · 1 评论 -
王道 第三章 习题3.3小白鼠排队
/** 小白鼠排队* N只小白鼠(1 <= N <= 100),每只鼠头上戴着一顶有颜色的帽子。* 现在称出每只白鼠的重量,要求按照白鼠重量【从大到小】的顺序输出它们头上帽子的颜色。* 帽子的颜色用“red”,“blue”等字符串来表示* 不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。* * Input:* 每个案例的输入第一行为一个整数N,表示小白鼠的数目。* 下面有N行,每行是一只白鼠的信息。* 第一个为不大于100的【正整数】,表示白鼠的重量;* 第二个为【原创 2021-02-03 17:37:28 · 119 阅读 · 0 评论 -
王道 第三章 习题3.2整数奇偶排序
/** 整数奇偶排序* 输入10个整数(0~100),彼此以空格分隔。重新排序以后输出(也按空格分隔),* 要求: * 1.先输出其中的奇数,并按从大到小排列; * 2.然后输出其中的偶数,并按从小到大排列。* * 方法1* 可以在输入的时候就直接分两个数组存放,那么就可以直接调用sort* * 方法2* 输入完再重新排序,将奇数放在前一部分,重新编写一个sort的比较函数即可实现优先奇数,两个奇数大数在前,两个偶数小数在前的效果*/#include <iostream>原创 2021-02-03 17:25:41 · 194 阅读 · 0 评论 -
王道 第三章 习题3.1特殊排序
/** 特殊排序* 输入一系列整数,将其中最大的数挑出(如果有多个,则挑出一个即可),* 并将剩下的数进行升序排序,如果无剩余的数,则输出-1。* * 寻找最大元素先直接排序,控制输出即可* 根据数组第一个元素是否等于最大元素可以确定是否要输出-1*/#include <iostream> #include <vector>#include <algorithm>using namespace std;int main() { int N =原创 2021-02-03 16:39:13 · 125 阅读 · 0 评论 -
王道 第三章 例题3.3成绩排序v2
/** 输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,* 相同成绩都按先录入排列在前的规则处理。* Input:* N * method(排序方法以0降序,1升序表示)* Name Score* * Output:* Name Score*/#include <iostream>#include <vector>#include <algorithm>using namespace std;#define SIZE 10原创 2021-02-03 16:35:39 · 108 阅读 · 0 评论 -
王道 第三章 例题3.2成绩排序
/** 成绩排序* Input:* 输入第一行包括一个整数N(1<=N<=100),代表学生的个数* 接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩* Output:* 按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来* 如果学生的成绩相同,则按照学号的大小进行从小到大排序*/#include <iostream>#include <vector>#include <algorithm>using nam原创 2021-02-03 16:34:36 · 414 阅读 · 0 评论 -
王道 第三章 例题3.1排序
我的代码都用c++写的,同时为了熟悉STL,能用STL的一般都会使用STL3.1是一个简单的升序排序,直接用c++的sort实现sort在头文件<algorithm>中,默认是快排,即不稳定的排序方法#include <iostream>#include <vector>#include <algorithm>using namespace std;int main() { int n = 0; while (cin >> n)原创 2021-02-03 16:29:29 · 86 阅读 · 0 评论 -
CCF 201812-2 小明放学 C++
//60分是因为用int会有溢出,//所以反正是为了AC,那么以后看到数据点超过10^6都可以直接用长长整型//还有对于只需要处理下一状态的数据的情况,可以考虑不使用数据结构存储输入的数据,直接在输入的时候就进行处理。//网上的答案我没能理解它的逻辑,所以还是按自己能搞清楚的逻辑写的。//remain_time是从当前信号灯的下一个状态的0时刻起,通过取模操作获取//all_round = r + y + g//其实换一种思路,就是要看当前信号灯时长在经历sum_time后,到绿灯还要多久..原创 2020-08-25 14:52:30 · 195 阅读 · 0 评论 -
vscode C语言程序出现段错误 segmentation fault
#include <stdio.h>#include <string.h>#include <stdlib.h> int main() { char *str1; str1 = malloc(4); //malloc()中的数字以字节为单位 char str2[]= "abc"; //char *str2 = "abc"...原创 2020-04-19 14:56:31 · 5748 阅读 · 1 评论