c
tingyuanss
这个作者很懒,什么都没留下…
展开
-
C 扑克牌随机发牌的算法实现与研究
最近老师布置了一个题目: (1)实现函数 /*将1~13随机放入pCards数组里*/ int generate_cards(int [] pCards); /*根据length将数组打印出来,用table间格*/ int print_cards(int [] pCards, int length); 这道题实现不难,刚看到的时候我搜了搜网上的解答,大多使用随机函数生成一个数比对数原创 2012-09-07 13:12:09 · 5552 阅读 · 0 评论 -
HD ACM Wolf and Rabbit
水题! #include int main() { int p,m,n; scanf("%d",&p); while(p--) { scanf("%d%d",&m,&n); if(m==1||n==1) printf("NO\n"); else { if(n%m==0||m%n==0) printf("YES\n"); else printf("NO\n");原创 2013-06-07 20:02:34 · 668 阅读 · 0 评论 -
#ifdef的用法
#ifdef的用法 #ifdef的用法 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。 还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的: #ifndef转载 2013-05-06 18:29:32 · 981 阅读 · 0 评论 -
C语言文件操作函数大全
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 fclose(关闭文件) 相关函数 close,fflush,fopen,setbuf转载 2013-05-05 08:58:08 · 733 阅读 · 0 评论 -
main already defined in *.obj 解决方法
VC6如果想在stdafx.h中定义全局变量,由于该头文件会被include多次,所以,经常会出现以下经典的错误:already defined in StdAfx.obj。 解决方法:把该变量的定义int g_flag放到stdafx.cpp中,然后在使用的地方extern一下。假如你在CAADlg.cpp中使用了该变量g_flag,那么就在CAADlg.cpp的首部,构造函数的定义之外,添加转载 2013-05-04 12:57:49 · 48822 阅读 · 3 评论 -
STL系列之十 全排列(百度迅雷笔试题)
全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢迎大家指出。 首先来看看题目是如何要求的(百度迅雷校招笔试题)。 用C++写一个函数, 如 Foo(const char *str),转载 2013-05-02 23:43:48 · 591 阅读 · 0 评论 -
linux 多进程入门
前言: 本文章只是为了给广大和我一样的菜鸟一个指引。如果你是高手,或对编程毫无兴趣。建议请不要在此浪费时间。 多进程是一个非常有用的东西。记得我上次介绍的那个TCP connect扫描器么,是不是很慢?如果你使用多进程分段扫描端口,你会发现速度大大提升。下面我们就来看看怎么在Linux下进行多进程编程。 首先,简单介绍一下我们要用的函数:fork()、wait(转载 2013-05-02 23:24:05 · 599 阅读 · 0 评论 -
c面向对象设计
记得还在我们大学C++第一门课的时候,老师就告诉我们说,C++是一门面向对象的语言。C++有三个最重要的特点,即继承、封装、多态。等到后来随着编码的增多和工作经验的积累,我也慢慢明白了面向对象的含义。可是,等我工作以后,使用的编程语言更多的是C语言,这时候我又想能不能把C语言变成面向对象的语言呢?等到后来通过思考和实践,我发现其实C语言也是可以面向对象的,也是可以应用设计模式的,关键就在于如何实现转载 2013-05-02 23:30:57 · 602 阅读 · 0 评论 -
12个有趣的C语言面试题
1.gets()函数 问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答转载 2012-09-09 22:38:42 · 569 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(转载 2012-09-10 12:17:47 · 314 阅读 · 0 评论 -
epoll模型详解
epoll模型详解 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.转载 2014-11-05 16:22:01 · 536 阅读 · 0 评论