C++
AndrewYB
这个作者很懒,什么都没留下…
展开
-
算法竞赛文件输入
我们在测试程序的时候,有时候要手动输入许多数,我们输入的数据很多时候是相同的,可是每次都是要在控制台程序中敲入进去,这将是效率很低的。 一个好的方法是用文件-把输入数据保存在文件中,输出数据也保存在文件中。 使用文件最简单的方法是使用输入输出重定向,只需在main函数的入口处加入以下两条语句: freopen(“input.txt”,”r”,stdin); freopen(“oupu原创 2018-01-31 20:43:46 · 758 阅读 · 0 评论 -
大数乘法包含大数加法(分治法)
题目: 用串的形式表示大数的乘法。即求类似: “23234845847839461464158174814792” * “6457847285617487843234535” 要求结果返回一个串。思路:大数乘法的思路就是把一个长的数字串拆分成两个部分,子串a1和子串a2,然后结果就是a1+00…000+a2。递归的边界条件就是当每个子串的长度都小于等于4的时候,就可以通过直接*运算返回结果。原创 2018-03-21 19:48:46 · 683 阅读 · 0 评论 -
C++中string和Int的相互转换
在算法竞赛中处理长数据的时候,我们往往采用string去存储一个数字,因为C++不像Java有BigInteger类,所以,string和Int的转换需要用到特殊的函数。只介绍最常用的方法。Int->string(需要包含sstream头文件)#include<iostream>#include<sstream>using namespace std;int a = 1234;stringst原创 2018-03-21 17:55:28 · 210 阅读 · 0 评论 -
2014年第五届——第一题:啤酒和饮料(水题不水)(注意浮点数精度)
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。注意:答案是一个整数。请通过浏览器提交答案。 不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。思路:水题不水,本来我的代码是这样的。#include<iostream>using namespace std;int main(){for(原创 2018-03-25 19:47:32 · 525 阅读 · 6 评论 -
【绝对值排序】 (C++描述)(利用两个库函数——abs()求绝对值 和 sort()快排)
#include <stdio.h>#include <cstdlib>#include <algorithm>using namespace std;bool compare(int a,int b){ return abs(a)>abs(b);}int main() { int n; int a[100]; int i; while (scanf(原创 2018-03-25 15:34:02 · 1244 阅读 · 0 评论 -
文章标题C/C++输入过程中检测回车符作为程序输入结束的若干问题
C/C++程序中经常在输入过程中通过判断是否输入回车符来判断程序是否结束。针对此应用,对存在的若干问题进行说明。1.示例程序1——C语言1.1 程序源码 输入一系列未知个数的数字,然后输出max ,min和average。#include <iostream> #include <math.h> #include <time.h> using namespace std; #pra原创 2018-03-24 20:17:13 · 669 阅读 · 0 评论 -
set集合容器的妙用(用于去重,排序)
set中自定义比较函数 使用insert()将元素插入到集合中去的时候,集合会根据设定的比较函数将该元素放到该放的节点上去。在定义集合的时候,如果没有指定比较函数,那么采用默认的比较函数(按键值又小到大的顺序插入元素)。编写比较函数的两张方法:1.如果元素不是结构体,那么可以编写比较函数。#include <iostream> #include <set> #include <iterat原创 2018-03-30 08:47:52 · 1493 阅读 · 0 评论 -
C/C++ 字符数组的输入输出
字符数组就是char数组,当维度是一维是可以当做“字符串”,当维度是二维时可以当成是字符串数组,即若干字符串。字符数组的输入除了使用scanf外,还可以使用getchar或者gets;其输出除了使用printf外,还可以使用putchar或者puts。(1)scanf输入,printf输出scanf对字符串的输入有%s和%c两种格式。%c格式用来输入单个字符,它能够识别空格和换行符并将其保存到字符数原创 2018-03-22 20:42:07 · 7445 阅读 · 0 评论 -
C++中queue的用法
基本操作:push(x) 将x压入队列的末端pop() 弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值front() 返回第一个元素(队顶元素)back() 返回最后被压入的元素(队尾元素)empty() 当队列为空时,返回truesize() 返回队列的长度使用方法:头文件:#include <queue>声明方法:1、普通声明queue<int>q;2、结构体struct node原创 2018-03-17 09:01:14 · 2786 阅读 · 0 评论 -
【c++】STL里的priority_queue用法总结
1、头文件#include<queue>2、定义priority_queue<int> p; 3、优先输出大数据priority_queue<Type, Container, Functional>Type为数据类型, Container为保存数据的容器,Functional为元素比较方式。如果不写后两个参数,那么容器默认用的是vector,比较方式默认用operator<,也就是优先队列是大顶堆转载 2018-03-16 21:14:17 · 250 阅读 · 0 评论 -
C++中set的用法详解
C++中set的用法 set的特性是,所有元素都会根据元素的键值自动排序,set的元素不像map那样可以同时拥有实值(value)和键值(key),set元素的键值就是实值,实值就是键值。set不允许两个元素有相同的键值。set的各成员函数列表如下:begin()–返回指向第一个元素的迭代器clear()–清除所有元素count()–返回某个值元素的个数empty()–如果集合为...转载 2018-03-16 19:52:34 · 2869 阅读 · 0 评论 -
C/C++库函数strstr和find实现子字符串查找
1 子字符串查找实现Demo#include<iostream>#include<string>#include<cstring>using namespace std;int main(){ char a[] = "abcddabc"; char b[] = "dda"; int j; string str1...原创 2018-03-05 18:55:55 · 1160 阅读 · 0 评论 -
C++中unique函数的作用
个人感觉,unique是STL中很实用的函数之一,需要#include,下面来简单介绍一下它的作用。unique的作用是“去掉”容器中相邻元素的重复元素,这里去掉要加一个引号,为什么呢,是因为它实质上是一个伪去除,它会把重复的元素添加到容器末尾,而返回值是去重之后的尾地址(是地址!!),举个例子:int num[10]={1,1,2,2,2,3,4,5,5,5}; int ans=...转载 2018-02-24 16:44:37 · 216 阅读 · 0 评论 -
程序中怎么表达π的大小
根据数学原理,cos(π)=-1,所以acos(-1.0)就会得出π。 我们只需要在C语言的头文件中加上cmath。还是上代码吧。#include<cmath>#include<iostream>#define pi acos(-1.0)using namespace std;int main(){cout<<pi<<endl;...原创 2018-02-23 10:25:06 · 1336 阅读 · 0 评论 -
C++交换两个指针内容
int temp;//假设*p,*q已经初始化temp=*p; *p=*q; *q=temp;原创 2019-03-14 23:55:37 · 1490 阅读 · 0 评论