
编程基础
知耻而后勇的蜗牛
这人很懒
展开
-
编程基础----int main(int argc,char* argv[])详解
int main(int argc,char* argv[])argc是命令行总的参数个数argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[]) { int i; for (i = 0; icoutreturn 0; } ---转载 2013-06-29 00:13:50 · 3431 阅读 · 0 评论 -
编程基础-----找出1--1000所有完全数
完全数定义是:如果一个数等于除本身之外所有质因数的和,那么就称之为完全数.比如6=1+2+3; 6就是一个完全数。#include <iostream>using namespace std;void function(int n){ int i, j; int sum = 0; for(i = 2; i <= n; i++) { fo...原创 2013-08-04 09:28:10 · 5125 阅读 · 0 评论 -
编程基础-----田忌赛马
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。给定齐王与田忌的赛马各n匹怎么排顺序才能让田忌胜率更大呢?首先对齐王与田忌的赛马分别进行由大到小的排序,分出马的等级来。...转载 2013-08-25 13:29:56 · 6902 阅读 · 0 评论 -
编程基础-----三个顶点的坐标(x1,y1),(x2,y2),(x3,y3)什么方法求三角形的面积最简单
S△=1/2 * |(x2-x1)(y3-y1)-(x3-x1)(y2-y1)|转载 2013-08-25 13:35:50 · 23518 阅读 · 2 评论 -
编程基础-----c语言打印调用栈
官方介绍:SYNOPSIS top #include int backtrace(void **buffer, int size); char **backtrace_symbols(void *const *buffer, int size); void backtrace_symbols_fd原创 2013-11-09 08:45:35 · 5680 阅读 · 0 评论 -
编程基础-------C语言函数返回二维数组的做法
在C语言中,有时我们需要函数的返回值为一个二维数组。这样外部函数接收到这个返回值之后,可以把接收到的二维数组当成矩阵操作(外部函数不可用普通的一级指针接收返回值,这样的话,外部函数将不知道它具有二维性)。方法如下:法1.没有使用typedef类型定义[cpp] view plaincopy#include int (*fun(转载 2013-09-26 22:43:42 · 14175 阅读 · 2 评论 -
编程基础------C和C++函数的相互引用----C++中extern “C”含义
C和C++函数的相互引用上次代码了碰到了这个问题,.c中调用.cpp中的函数,网上搜之,得此佳文。原文地址:http://blog.youkuaiyun.com/wfwd/archive/2006/05/30/763734.aspx==================================================================================转载 2013-09-24 23:28:11 · 1167 阅读 · 0 评论 -
编程基础-----c++与c调用so文件
1.制作so文件:libadd_c.soadd.c:int add(int a, int b){ return a + b;}编译:gcc -shared -fpic -lm -ldl -o libadd_c.so add.c 2.编写测试函数test.cpp#include #include #include #include using nam原创 2013-09-15 19:39:43 · 20649 阅读 · 1 评论 -
编程基础-----C语言中#define的用法
今天整理了一些#define的用法,与大家共享!1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简转载 2013-08-25 13:37:04 · 1502 阅读 · 0 评论 -
编程基础-----基姆拉尔森计算公式(计算星期几)
算法如下:基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。#incl原创 2013-08-04 08:39:19 · 5650 阅读 · 2 评论 -
编程基础-----大小写转换-库函数strupr、strlwr
原型:extern char *strupr(char *s);用法:#include 功能:将字符串s转换为大写形式说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。类似的char *strlwr(char *s);#include #include #include using namespace std;int main(原创 2013-07-28 09:30:33 · 3364 阅读 · 0 评论 -
编程基础-----数字与字符串相互转化
1.将字符串转换成浮点型数表头文件#include 定义函数double atof(const char *nptr);函数说明atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-原创 2013-07-07 11:09:53 · 1222 阅读 · 0 评论 -
编程基础-----qsort函数排序
qsort函数是ANSI C标准中提供的,其声明在stdlib.h文件中,是根据二分发写的,其时间复杂度为n*log(n),其结构为:void qsort(void *base,size_t nelem,size_t width,int (*Comp)(const void *,const void *));其中:*base 为要排序的数组nelem 为要排序的数组的长原创 2013-07-01 19:44:03 · 1172 阅读 · 0 评论 -
编程基础-----C语言如何获取当前目录和程序目录
用long getcwd(char *buf, unsigned long size);#include #include #define MAXPATH 128int main(){ char buf[MAXPATH]; getcwd(buf, MAXPATH); printf("The current directory is :%s \n", buf); exit(0原创 2013-06-30 20:44:34 · 7363 阅读 · 1 评论 -
编程基础----怎么判断两个浮点数相加是否等于另一个浮点数?
判断浮点数相等可以这样:#define E 0.00001不要直接跟0比较,你可以在精度允许的范围内把两个浮点数的差跟E做比较,如果差的绝对值小于E,则可以判断相等。...转载 2013-06-29 00:07:52 · 1742 阅读 · 0 评论