C和C++
技术宅--火狼
这个作者很懒,什么都没留下…
展开
-
permutations
#include #include #define SWAP(x,y,t) ((t)=(x),(x)=(y),(y)=(t))void perm(char *list,int k,int m){ char temp; if(k==m) { printf("%s\n",list); } else { for(int i=k;i<=m;i++) { SWAP(l原创 2015-02-06 15:29:08 · 2518 阅读 · 0 评论 -
万年历(C语言版)
#include //判断输入的年份是否是闰年 int IsLeap(int year){ if((year%400==0) || ((year%4==0)&&(year%100!=0))) return 1; else return 0;} int Day[12]={31,28,31,30,31,30,31,31,30,31,30,31};//计算一个月的最大天数(上原创 2015-06-17 21:02:41 · 4820 阅读 · 1 评论 -
矩阵旋转(左旋,右旋)
#include using namespace std;const int M = 3; //行数 const int N = 5; //列数 int main() { int a[M][N] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}}; int *p = a[0]; //正常输出矩阵 for(int i=0;i<M;i+原创 2015-05-08 23:04:38 · 5344 阅读 · 0 评论 -
数组指针与指针数组
#include int main(){ int arr[4][4] ={0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15}; int i; for(i=0;i<4;i++) { printf("使用arr+i求得二维数组arr第%d行的起始地址为:%d\n",i+1,arr+i); } printf("\n"); for(i=0;i<原创 2015-03-11 14:51:50 · 2659 阅读 · 0 评论 -
位运算 实现加减法
推荐两篇写的比较好的博文!1.http://blog.csdn.net/tianjian9900/article/details/416204072.http://blog.csdn.net/eeeduo/article/details/39182973用位运算实现加法也就是计算机用二进制进行运算,32位的CPU只能表示32位内的数,这里先用1位数的加法来进行,在不考虑进位的基础上,如转载 2015-03-11 16:44:55 · 5296 阅读 · 0 评论 -
函数指针之探秘
#include //演示函数指针的用法 int max (int x,int y){ return x>y?x:y;} int min (int x,int y){ return x<y?x:y;} int main(){ int (*f)(int x,int y) ; f = max; printf("%d %d\n",max(2,6),(f)(8,4));原创 2015-02-13 01:43:52 · 3520 阅读 · 2 评论 -
实现C语言字符串操作的库函数
#include //求字符串串长(版本一)//用字符数组实现int mystrlen1(char s[]){ int len = 0; while(s[len] != '\0') { len++; } return len;} //求字符串串长(版本二)//用字符指针实现 int mystrlen2(char *s){ int len = 0; w翻译 2015-02-13 02:09:04 · 4045 阅读 · 2 评论 -
关于自增自减,你真的懂了吗?
int x =5 ; printf("%d\n",x++); printf("%d\n",++x);int x =5; printf("%d %d %d\n",++x,++x,++x);int x =5; printf("%d %d %d\n",x++,x++,x++);int x =5; printf("%d %d\n",++x,x++); int x =5; printf("%d原创 2015-01-22 18:33:48 · 2263 阅读 · 0 评论 -
截取字符串实例
#include //通过指针函数返回一个截完的串的地址 char *substring(char s[],int i,int j){ //这个临时数组必须是static,否则值传不回去 static char temp[100]; int n,m; for(m=0,n=i;n<=j;n++,m++) { temp[m]=s[n]; } temp[m]='\0'; r原创 2015-02-14 17:27:05 · 3312 阅读 · 0 评论 -
qsort对各数据类型的测试样例
//挺有收获的//qsort Demo#include #include //qsort #include using namespace std;int cmp_int(const void *a,const void *b){ return *(int *)a - *(int *)b;}int cmp_char(const void *a,const void *原创 2015-01-20 20:34:12 · 2624 阅读 · 0 评论 -
指针与结构体
#include #include struct info{ int num; float score; }; int main(){ struct info info1; printf("%d %f",info1.num = 10, info1.score = 29); struct info *p1 = &info1; printf("\n%d %f",(*p1)原创 2015-02-09 00:43:53 · 2339 阅读 · 0 评论 -
求一个数的相反数的补码
1.已知8位二进制表示的整数X的补码为10011011,则-X的补码的二进制编码为( 01100101 )。 解析:已知x和-x的反码是互为相反的,所以已知x的补码,[x]反 = [x]补 - 1,(x为负数)那么-x(-x为正数)的 补码为[-x]补 = [-x]反 = -([x]补 - 1) = [x]补 + 1 先各位取反,0变成1,1变成0。然后最低位原创 2015-07-16 20:50:35 · 20796 阅读 · 5 评论