
技巧
文章平均质量分 79
This is bill
这个作者很懒,什么都没留下…
展开
-
关于四舍五入
用 int 的强制转换是直接取下面一个整数,不论是不是 四舍五入。。。贴代码:#include int main(){ printf("5 * 1.5 = %d\n",(int)(5*1.5)); printf("4 * 2.1 = %d\n",(int)(4*2.1)); return 0;}运行结果是:78原创 2013-10-27 16:49:17 · 1443 阅读 · 0 评论 -
数组赋初值和数组传参
我早知道了数组这样为数组赋初值:int a[5]={0}; 这样就都初始化为0或者干脆设全局变量就可以自动初始化为0但是下面的代码可以更方便的为数组赋初值:#include int main(){ int a[5]={55,999}; for(int i=0;i<5;i++) printf("%d ",a[i]); return 0;}运行结果为:55原创 2013-10-30 09:09:44 · 1701 阅读 · 0 评论 -
poj 2591 Set Definition【OJ实验】
这道题本身比我之前A的题目要简单,我自己另外在OJ上用这道题做了几个有趣一点的实验poj2591只是定义集合的方式不同了而已。。。ans[a2]*2+1,ans[a3]*3+1,还有注意一点就是我改的时候用%I64d不能输入int型的数,OJ会爆Runtime error先贴AC的代码:#include #include using namespace std;int ans原创 2013-10-29 16:40:59 · 1323 阅读 · 0 评论 -
VC++ 6.0 单步调试【写给自己看的调试总结帖】
写给自己看的调试总结帖参考一:先将光标移动到你需要停止的地方,点击一下工具栏中的小手工具,这个时候左边会有一个红色的圆点出现,然后点击“go F5”工具。程序会开始运行,直到运行到你设置的断点处停下来,这个时候你可以在下边的出口中检查你的变量的值 了。如果下面没有你需要的变量,你可以将变量名拖到变量窗口中。如果你的变量窗口没有显示,你可以通过菜单-->查看-->调试窗口--原创 2013-10-30 11:23:03 · 2178 阅读 · 0 评论 -
引用传实参
希望传实参时,除了传地址,然后那边用指针接收外,还可以直接用“引用”这种机制,十分方便,而且让代码更加简洁清晰唯一的缺点就是如果只看调用的代码,不知道是不是传实参,不过如果是统一的用法就不会出错了#include //引用地址空间void exchange(int &a,int &b){ int tmp=a; a=b; b=tmp;}int main(){原创 2013-10-30 14:24:51 · 1402 阅读 · 0 评论 -
poj 1504 Adding Reversed Numbers【反转数字】
先写了一个反转数的代码:#include #include #include __int64 numVers(char n[],int len){ __int64 ans=0; for(int i=0;i<len;i++) ans+=(n[i]-'0')*((int)(pow(10,i))); return ans;}int main(){ char a[10原创 2013-11-04 11:34:26 · 1781 阅读 · 0 评论 -
poj 1543 Perfect Cubes【sort排序结构体】
1543完全可以用暴力解决。。。先写了未排序的暴力:#include int Is_Cube(int n){ int i; for(i=1; ;i++) { if(i*i*i==n) return i; if(i*i*i>n) return 0; }}int main(){ int n; int a,b,c,d; while(sc原创 2013-11-07 21:14:54 · 1496 阅读 · 0 评论 -
各种排序的时间复杂度
平均时间复杂度:插入排序 O(n^2) 冒泡排序 O(n^2) 选择排序 O(n^2) 快速排序 O(n log n)堆排序 O(n log n) 归并排序 O(n log n) 基数排序 O(n) 希尔排序 O(n^1.25)原创 2013-11-09 14:41:10 · 1274 阅读 · 0 评论 -
enum的使用
一直都不是很熟悉enum的使用方法,今天小test了一下:#include int main(){ enum INT{a=1,b=2,c=3}; enum INT my=b; printf("%d\n",my); return 0;}转一篇不错的文章:enum 在c中的使用如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚原创 2013-12-15 10:18:04 · 1413 阅读 · 0 评论 -
链表
typedef struct node{ int data;//数据域 struct node * next;//指针域}Node;一步一步写算法(之单向链表) 有的时候,处于内存中的数据并不是连续的。那么这时候,我们就需要在数据结构中添加一个属性,这个属性会记录下面一个数据的地址。有了这个地址之后,所有的数据就像一条链子一样串起来了,那么这个地址属转载 2013-12-16 18:53:50 · 1129 阅读 · 0 评论 -
一步一步写算法(之单向链表)
#include #include typedef struct node{ int data;//数据域 struct node * next;//指针域}Node;int main(){ Node *pLinkNode=NULL; pLinkNode = (Node*)malloc(sizeof(Node)); pLinkNode->data转载 2013-12-16 19:00:08 · 1325 阅读 · 0 评论 -
c语言之内存扫描
曾经很早的时候就学习过原创 2014-07-14 21:10:55 · 2685 阅读 · 0 评论 -
关于memset()
关于memset()2006-05-24 12:06gaswei | 分类:其他编程语言 | 浏览39362次用memset()将一个数组初始化为0,其中0的功能与向数组填入NULL或'\0'是不是一样的?数组是不是必须初始化?分享到:2006-05-24 13:25提问者采纳如果以这样的方式声明数组int a[25转载 2014-07-17 16:11:19 · 924 阅读 · 0 评论 -
C/C++中各种类型int、long、double、char表示范围(最大最小值)
C/C++中各种类型int、long、double、char表示范围(最大最小值)分类: 问题 读书笔记 C++primer2012-10-28 22:16 23218人阅读 评论(10) 收藏 举报[cpp] view plaincopy#include #include #include using nam转载 2014-07-19 12:46:50 · 1062 阅读 · 0 评论 -
C比较文件相同
直接上代码:#include#include int main(){ FILE *f1,*f2; char ch1,ch2; char fileName1[100],fileName2[100]; printf("Enter first filename :\n"); scanf("%s",fileName1); printf("Enter second file原创 2014-07-18 19:52:38 · 2288 阅读 · 0 评论 -
C的编译过程
这个编译过程人人皆知,但是真正理解的却不多,转载 2014-07-22 11:03:06 · 985 阅读 · 0 评论 -
const char*
const char*的解释网上一搜一大把,我只是原创 2014-07-24 13:31:01 · 1233 阅读 · 0 评论 -
c语言中assert函数的妙用
大牛刘汝佳说过:“会“迫使”我们编写出更高质量的程序”原创 2014-07-04 11:36:00 · 1303 阅读 · 0 评论 -
sort()
sort()函数是对连续空间排序,最好用数组首地址和偏移量这种写法,如果用 & 地址就必须完全包括进去不然就出现各种奇怪的结果:用 首地址+偏移量 【正确】#include#include using namespace std;int main(){ int a[5]={6,5,87,7,9}; sort(a,a+5); //最好用这个 //sor原创 2013-10-19 11:16:00 · 1067 阅读 · 0 评论 -
关于对Floyd算法的思索
这个问题困扰我很久了,终于还是上机得到了证实,实践出真知啊!贴代码#include #define MAX 999999int main(){ //无向无环图的floyd int map[6][6]; int i,j; for(i=0;i<6;i++) for(j=0;j<6;j++) map[i][j]=MAX; //自己到自己的距离是0 f原创 2013-10-26 09:29:20 · 1016 阅读 · 0 评论 -
基本数据结构和算法在Linux内核中使用
基本数据结构和算法在Linux内核中使用gaufunga day ago搬运工Linux内核(源代码的链接在github)。1.链表、双向链表、无锁链表。2.B+ 树,这是一些你无法在教科书上找到的说明。一个相对简单的B+树的实现。我把它作为一个学习练习来帮助理解B+树是如何工作的。这同样也被证明是有用的。 ...一个在教科书中并不常转载 2013-12-03 09:45:08 · 1916 阅读 · 0 评论 -
qsort
使用qsort()排序并用 bsearch()搜索是一个比较常用的组合,使用方便快捷。qsort 的函数原型是void __cdecl qsort (void *base,size_tnum,size_t width,int (__cdecl *comp)(const void *,const void*))其中base是排序的一个集合数组,num是这个数组元素的个数,width是原创 2013-09-29 02:27:44 · 1229 阅读 · 0 评论 -
C 十字链表
#include#include#include#include#define MAX 20/*¶¥µãµÄ¸öÊý*/typedef struct ArcBox{ int tailvex,headvex;/*»¡µÄβºÍÍ·¶¥µãλÖÃ*/ struct ArcBox *hlink,*tlink;/*·Ö±ðΪ»¡Í·Ïàͬ»¡Î²ÏàͬµÄ»¡µÄÁ´Óò*转载 2014-07-12 10:02:24 · 1205 阅读 · 0 评论 -
strcmp
以下代码成功输出结果:#include #include int main(){ char a[6]="abcde"; char b[6]="zbcde"; if(strcmp(a,b)<0) printf("a比b字典序靠前\n"); return 0;}这说明当a比b字典序靠前时,strcmp原创 2013-10-26 12:03:50 · 1170 阅读 · 0 评论 -
重定向 freopen
注意用重定向读写非常简便,就是注意一下交题之前注释掉重定向语句(任以2013题为例)#include int main(){ freopen("test.txt","r",stdin); freopen("result.txt","w",stdout); int n; int i; char string[20][30]; int count=0; while(原创 2013-10-04 11:19:43 · 1114 阅读 · 0 评论 -
c++中 extern 的含义和基本用法
在网上看到一个非常好的讲解,转载 2014-07-08 10:22:38 · 1765 阅读 · 0 评论 -
c++工程包含测试
1.h文件:#include int myAdd(int a,int b);test。cpp原创 2014-07-08 15:15:27 · 1051 阅读 · 0 评论 -
隐藏控制台窗口
在做opencv实验的时候发现了一个十分有趣的东西,那就是通过使用#pragma//隐藏控制台窗口#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")原创 2014-07-09 15:56:53 · 1308 阅读 · 0 评论 -
C++ vector用法
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.vectorint>::iterator it;for(it=ve转载 2014-08-03 14:24:53 · 1014 阅读 · 0 评论 -
位运算加速技巧【持续更新】
在c语言中,有时需要乘以2,除以2,或者要求原创 2014-07-29 13:49:49 · 1496 阅读 · 0 评论 -
c遍历所有文件夹中的文件
一个小程序,可以遍历所有文件夹中的文件并打印出来原创 2014-07-12 14:53:07 · 2309 阅读 · 0 评论 -
枚举类型enum
#include using namespace std;void main(){ enum open_modes {input, output, append}; enum Forms {shape = 1, sphere, cylinder, polygon}; cout<<"sizeof(open_modes) == "<<sizeof(open_modes)<<endl原创 2014-07-11 10:30:16 · 1196 阅读 · 0 评论 -
union关键字
union 关键字的用法与struct 的用法非常类似。union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union StateMachine{ char character; int number;转载 2014-07-11 10:39:07 · 983 阅读 · 0 评论 -
【转自百度知道】关于const int *的解释
这个问题解答了很久的疑惑,很给力的回答,转自百度知道。转载 2014-07-11 09:49:40 · 1179 阅读 · 0 评论 -
重写findobj【可以遍历子文件夹】
#include#include#include#include#include char tFPath[60];//target folderchar dFPath[20];//destination folderchar path[60];//now pathchar fatherPath[60];//father pathv原创 2014-07-12 18:04:40 · 979 阅读 · 0 评论 -
while(~scanf("%d%d",&n,&m)) {...}
每次在A题的时候,都会碰到用 while(scanf("%d",&a)!=EOF){...} 来判断结束原创 2014-07-30 16:48:32 · 2641 阅读 · 0 评论 -
文件夹变扩展名
新建一个文件夹,在后面加上下面任一个扩展名,就会变成相应的文件。 .{00021401-0000-0000-C000-000000000046} 无关联文件 .{871C5380-42A0-1069-A2EA-08002B30309D} 网页文件 .{645FF040-5081-101B-9F08-00AA002F954E} 回收站 .{21EC2020-3AEA-1069-A原创 2014-07-14 21:34:30 · 1352 阅读 · 0 评论 -
关于2进制和16进制互转的一点思索
搞计算机的就必须碰二进制和16进制,原创 2014-08-01 13:47:29 · 1124 阅读 · 1 评论 -
shutdown命令
shutdown -s -t 3600原创 2014-08-19 15:07:12 · 911 阅读 · 0 评论 -
sizeof 和 strlen;gets 和 %s
这是一个ACMer总是遇到的问题,但是这个问题却特别常见,因为原创 2014-08-01 10:28:01 · 1397 阅读 · 0 评论