09 2014 档案

摘要:求最大公约数最基本的方法就是,用一个数每次加1,除这两个数。最小公倍数就是两个数除以最大公约数的商相乘,再乘以最大公约数(a/gcd*b/gcd*gcd)化简以后就是a*b/gcd,但在编程中,a*b很可能会超出范围,所以我们要先除再乘,即:a/gcd*b代码:int a=1,b=2,i=1,gcd... 阅读全文
posted @ 2014-09-24 22:00 五十风 阅读(167) 评论(0) 推荐(0)
摘要:下面介绍数组反序的方法。1, 用一个数组,反序保存已有数组。这里就不写出代码了。2, 第二种方法,第一个与最后一个交换,第二个与倒数第二个交换……这样明显节省了不少时间代码:int a[5]={1,2,3,4,5}int i,j;for(i=0,j=4;iusingnamespace std;#in... 阅读全文
posted @ 2014-09-22 18:37 五十风 阅读(338) 评论(0) 推荐(0)
摘要:在编程中,我们经常遇到将a,b的值交换这种情况,下面就说说交换a,b的方法。1,最常规的就是定义一个变量,通过他交换int a=1,b=2,t;t=a;a=b;b=t;对于这种方法我们可以用宏定义,方便下次用到。#define swap(t,a,b) {int t=a;a=b;b=t;}main()... 阅读全文
posted @ 2014-09-21 22:05 五十风 阅读(494) 评论(0) 推荐(0)
摘要:测字符数组长度大家应该都知道,就是用strlen,他在cstring中#includeint main(){ char c[]={"abcdef"}; int len; len=strlen(c); return0;}对c++中的字符串... 阅读全文
posted @ 2014-09-21 21:59 五十风 阅读(286) 评论(0) 推荐(0)
摘要:关于排序最先学的就是后一个与前一个比较并交换的冒泡排序,记录下标的选择排序,这里就不多介绍了,只把它的代码贴出来,重点说一下快速排序。一、冒泡,选择: //冒泡 for(i=0;ia[j+1]) { ... 阅读全文
posted @ 2014-09-21 16:36 五十风 阅读(633) 评论(0) 推荐(0)
摘要:typedef最常见的用法就是:typedef int I;typedef struct student stu;typedef struct student* pstu;不过我们有时也会见到这样的用法typedef struct student{int a;…} stu;其实这个和typedef ... 阅读全文
posted @ 2014-09-20 13:11 五十风 阅读(154) 评论(0) 推荐(0)
摘要:今天遇到一个问题,c中int只有32位,但要用到64位时怎么办?最初我用的是long long但发现这样编译不能通过,查找了资料才知道每个编译器定义,输出的方式不同,下面把他分享出来变量定义输出方式gcc(mingw32)g++(mingw32)gcc(linux i386)g++(linux i3... 阅读全文
posted @ 2014-09-19 21:24 五十风 阅读(141) 评论(0) 推荐(0)
摘要:1,typedef简化输入在编程中如果用到结构体,每次定义变量时都要输很长的代码,特别是在建链表时,经常重复输入struct…,为了避免这种重复,可以用typedef。不过不建议在实际的编程中运用,但在竞赛中为了更快的输入,这确实是一个好方法。如:#includeusing namespace st... 阅读全文
posted @ 2014-09-14 22:15 五十风 阅读(996) 评论(0) 推荐(0)
摘要:和学长讨论问题时,他教我了一种测试代码的方法—freopen函数。(在stdio.h中)简单的说,这个函数是用于修改输入输出的方式。在测试代码时如果有很多数据,为了节省输入时间,我们就会用到一种方法把数据保存在文件里读出就行,freopen函数做的就是这件事。下面是他的实现:#include#inc... 阅读全文
posted @ 2014-09-14 22:09 五十风 阅读(273) 评论(0) 推荐(0)
摘要:以前学c时,对指针的理解并不怎好,虽然会运用,但其实都是死记硬背,这次重新认真看了一遍终于弄懂了。(注:有的东西只是为了便于理解,可能并不准确)1、指针的理解在说数组之前还是先说说指针。看看下面这段代码:int a=2;int *p,*q;p=&a;*P=1;int *p 中 p 是指,找一块空闲... 阅读全文
posted @ 2014-09-14 21:59 五十风 阅读(320) 评论(0) 推荐(0)
摘要:继续1中的进制转换问题,上一个程序以及实现了一个简单的进制转换,不过他却还可以改进,下面就来谈谈他的改进思路及实现。一、省略数字转字母的过程上个程序中用一个if判断来把10以上的数字用字母输出,即:for(i=i-1;i>=0;i--) { if(yu[i]>10) ... 阅读全文
posted @ 2014-09-11 22:30 五十风 阅读(214) 评论(0) 推荐(0)
摘要:昨天拿到一个题,把任意一个int型的十进制数n转换为m(0int yu[100];int n,m,i;i=0;cin>>n;cin>>m;while(n){ yu[i]=n%m; n=n/m; i++;}然后是反序输出:for(i=i-1;i>=0;i--){ cout10){yu[i]=yu[i]... 阅读全文
posted @ 2014-09-11 20:53 五十风 阅读(186) 评论(0) 推荐(0)