C/C++
文章平均质量分 56
cqnuztq
这个作者很懒,什么都没留下…
展开
-
一个无聊的小程序,随机尾数出现的概率
/***想测试一下随机函数rand()产生的随机数的尾数出现的概率**是否当n足够大是,各个尾数出现的概率趋近于0.1*/#include#include#includeint main(){ int count[10]={0}; unsigned long int n; int i; int index; srand((unsigned)tim原创 2013-01-15 15:23:52 · 2105 阅读 · 0 评论 -
用rand()实现bigrand()和randint(l,u)
/***C库函数rand()通常返回约15个随机位**使用该函数实现函数bigrand()和randint(l,u)**要求前者至少返回30个随机位**后者返回[l,u]范围内的一个随机整数*/#include#include#include#include//实现bigrand(),至少返回30个随机位int bigrand();//实现randi原创 2013-01-15 10:05:33 · 5443 阅读 · 5 评论 -
pirntf()函数心得(笔试后的忏悔)
<!--td p {margin-bottom:0cm; direction:ltr; color:rgb(0,0,0)}td p.western {font-family:"DejaVu Serif",serif; font-size:12pt}td p.cjk {font-family:"DejaVu Sans"; font-size:12pt}td原创 2013-04-16 16:27:07 · 1825 阅读 · 0 评论 -
求一个向量的任何连续最接近0的子向量的和
//求一个向量的任何连续最接近0的子向量的和/*比如向量(31,-41,59,26,-53,58,97,-93,-23,84);最大和是从97到-93即为4*/#include#include//返回最接近0的数int closeZero( int x, int y );//最原始的算法,复杂度为T(n)=O(n*n)int oringinal( int v原创 2012-12-09 15:45:03 · 814 阅读 · 0 评论 -
(x&y)+((x^y)>>1)(面试宝典)
int f(int x,int y){ return (x&y)+((x^y)>>1);};f(729,271)=500.解答:x&y是取相同的位与,这个结果是x和y相同位,x^y是取x和y的不同位的和,右移1位,相当于除以2.所以结果是求x和y的平均数。如果二进制不易理解,那我们看看十进制的情况。假如将&操作和^操作推广到是取十进制位中来,即原创 2013-03-17 10:11:34 · 4435 阅读 · 1 评论 -
sizeof求类的大小
1、空类的sizeof是1。空类是指没有成员的类,类中的函数不占空间,除非是虚函数。如: class A { public: A(){} ~A(){} void fun(){} };sizeo转载 2013-03-17 11:08:30 · 1140 阅读 · 0 评论 -
关于char * c="hello"与char c[]="hello"的区别(面试宝典)
#include stdio.h>void main(){ char * c = "hello"; printf("%s\n",c);}反汇编结果如下00401010 push ebp00401011 mov ebp,esp00401013 sub esp,44h00401016转载 2013-04-06 11:20:56 · 2594 阅读 · 0 评论 -
二分查找
//二分查找/*递归算法int searchB1(int A[], int low, int high, int data);非递归算法int searchB2(int A[], int len, int data);*/#include#include#define Len 25//递归算法int searchB1(int A[], int low,原创 2012-12-07 11:18:48 · 446 阅读 · 0 评论 -
调用c语言库函数实现快速排序
//调用C语言的快速排序算法qsort();#include#include#include#define SIZE 100//从小到大排序int comp1(const void *x,const void *y){ return *(int *)x - *(int *)y;}//从大到小排序int comp2(const void *x原创 2012-12-07 11:05:01 · 1640 阅读 · 0 评论 -
求一个向量的任何连续子向量的最大和的4种算法实现(简单实例)
//求一个向量的任何连续子向量的最大和/*比如向量(31,-41,59,26,-53,58,97,-93,-23,84);最大和是从59到97即为187*/#include#include//两者的最大值int max( int x, int y );//三者的最大值int max2( int x, int y, int z );//最原始的算法,复杂度原创 2012-12-09 10:01:45 · 616 阅读 · 0 评论 -
散列法解决1000个整数的搜索
/* *散列法解决1000个整数的搜索问题(为了方便显示结果,程序中将1000改为了100) */#include#include#include#include#define LEN 100typedef int dataType;typedef struct HNode{ dataType key; //关键字 int flag;原创 2012-12-30 11:52:27 · 657 阅读 · 0 评论 -
只带两个参数的快速排序
/* *编写快速排序,函数qsort(),函数只带两个参数 */#include#include#include#define LEN 10typedef int dataType;//初始化数组,数组元素为小于100的整数void intiArr(dataType A[], int len);//打印数组元素void print(dataType A[原创 2013-01-11 16:16:50 · 1654 阅读 · 0 评论 -
关于(int&)a和mencpy
我们先来看一个例子float f = 1.0f;printf("(int &)f=%d\n",(int &)f);上面的语句输出的结果是:(int &)f=1065353216因为(int&)a:将a的引用强制转换为整型,意思是a所在的内存,本来定义的时候为float类型,并初始为1.0f,但现在我要按int类型解释这段内存(也就是说a所在的内存地址中的数据本来是按float型存储原创 2012-12-31 09:44:20 · 889 阅读 · 0 评论 -
希尔排序C语言代码
/* *希尔排序 */#include#include#include#define LEN 10typedef int dataType;//初始化数组,赋值整数随机数void initArr(dataType arr[], int len);//希尔排序void shellSort(dataType arr[], int len);//交换两个数原创 2013-01-04 10:06:45 · 4779 阅读 · 1 评论 -
关于scanf遇到的一点小麻烦,执行到scanf时貌似没做而直接跳过了
#includeint main(){ char ch; printf("选择A或者B(按回车键确认):"); scanf("%c",&ch); while(1) { if(ch == 'B' || ch == 'b') { printf("对不起,您输入的答案错误,请重新输入!\n选择A或者B(按回车键确认):"); //getchar()原创 2013-01-04 02:46:23 · 1928 阅读 · 3 评论