随笔分类 -  C语言常用算法

收集一些语法、算法方面的内容。
摘要:折半查找法:针对有序数组 #include #include #define M 10void main(){ static int a[M]={-12,0,6,16,23,56,80,100,110,115}; int n,low,mid,high,found; low=0; high=M-1; found=0; printf("Input a number to be search... 阅读全文
posted @ 2007-01-16 11:06 齐心 阅读(528) 评论(0) 推荐(0) 编辑
摘要:此例中使用两重循环来实现排序。但是值得注意的是以上程序执行时元素的交换并不都是必须的。 #include #include #define N 10void main(){ int i,j,t; int a[N]; clrscr(); for(i=0;i#include #define N 10void main(){ int i,j,t,k; int a[N]; clrscr();... 阅读全文
posted @ 2007-01-16 09:15 齐心 阅读(614) 评论(0) 推荐(0) 编辑
摘要:如果右上角元素大于左下角元素,然后交换。输出经过处理后的右上角元素(含对角线) #include #include #define M 4#define N 4void main(){ clrscr(); int i,j; int a[M][N]={{13,22,33,44},{5,63,7,8},{91,10,11,12},{13,14,15,16}}; for(i=0;ia[j][i]) a[... 阅读全文
posted @ 2007-01-16 09:08 齐心 阅读(815) 评论(0) 推荐(0) 编辑
摘要:#include #include #define M 4#define N 4void main(){ clrscr(); int i,k; int a[M][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; int b[M][N]; for(i=0;i#include #define M 4#define N 4void main(){ ... 阅读全文
posted @ 2007-01-16 08:43 齐心 阅读(1290) 评论(0) 推荐(0) 编辑
摘要:#define N 5#include void main(){ int i,j,k,max,min; static int a[5]; for(i=0;ia[i]) {min=a[i];k=i;} } printf("max:a[%d]=%d,min:a[%d]=%d",j,max,k,min);} 阅读全文
posted @ 2007-01-15 16:19 齐心 阅读(3019) 评论(0) 推荐(0) 编辑
摘要:#include #include void main(){ clrscr(); int i,j; int a[4][4]; for(i=0;i<4;i++) /**//*输入数据*/ for(j=0;j<4;j++) scanf("%d",&a[i][j]); for(i=0;i<4;i++) /**//*输出原始... 阅读全文
posted @ 2007-01-15 16:16 齐心 阅读(368) 评论(0) 推荐(0) 编辑
摘要:#include #include int divisor(int a,int b){ int r; while ((r=a%b)!=0) {a=b;b=r;} return b;}int multiple(int a,int b){ int d; d=divisor(a,b); return a*b/d;}void main(){ int a,b,c; clrscr(); printf("I... 阅读全文
posted @ 2007-01-14 16:42 齐心 阅读(665) 评论(0) 推荐(0) 编辑
摘要:#include #include void hanoi(int,int,int,int);void main(){ int n; clrscr(); printf("Input n:"); scanf("%d",&n); hanoi(n,1,2,3);}void hanoi(int n,int a,int b,int c){ if (n==1) printf("%d-%d",a,c); ... 阅读全文
posted @ 2007-01-14 14:37 齐心 阅读(359) 评论(0) 推荐(0) 编辑
摘要:int gcd(int m,int n){ int g; if (n==0) g=m; else g=gcd(n,m%n) return g;}void main(){ int m,n; scanf("%d,%d",&m,&n); printf("gcd=%d",gcd(m,n));} 阅读全文
posted @ 2007-01-14 10:36 齐心 阅读(3139) 评论(0) 推荐(0) 编辑
摘要:#include #include long fac(int);long comb(int n,int m);void main(){ int n,m; long result; clrscr(); scanf("%d,%d",&n,&m); result=comb(n,m); /**//*调用组合函数*/ printf("%ld",result);}long fac(int k... 阅读全文
posted @ 2007-01-14 09:38 齐心 阅读(492) 评论(0) 推荐(0) 编辑
摘要:long fac(int k){ long f=1; for (int i=1;i#include long fac(int);void main(){ int k; long result; clrscr(); scanf("%d",&k); result=fac(k); printf("%ld",result);}long fac(int k){ long f=1; for (int i=1;... 阅读全文
posted @ 2007-01-13 11:29 齐心 阅读(1887) 评论(0) 推荐(0) 编辑
摘要:float power(float x,int n){ float t=1; for(int i=1;i#include float power(float,int);void main(){ float x,t; int n; clrscr(); printf("Please input x,n number:"); scanf("%f,%d",&x,&n); t=power(x,n); pri... 阅读全文
posted @ 2007-01-13 11:07 齐心 阅读(447) 评论(0) 推荐(0) 编辑
摘要:int max(int a,int b){ int t; if (a>b) t=a; else t=b; return t;}int max(int a,int b,int c){ int t; if (a>b) if (a>c) t=a; else t=c; else if (b>c) t=b; else t=c; return t;} #include #include int... 阅读全文
posted @ 2007-01-13 11:00 齐心 阅读(729) 评论(0) 推荐(0) 编辑
摘要:/**//*⑴a除以b,余数存于r;⑵如果r不为0,则将b的值赋给a,r的值赋给b,重复⑴;否则执行⑶⑶输出a的值,它就是最大公约数。*/#include #include int divisor(int,int);void main(){ clrscr(); int a,b,d; scanf("%d,%d",&a,&b); if (a>b) d=divisor(a,b); else ... 阅读全文
posted @ 2007-01-13 10:38 齐心 阅读(3013) 评论(0) 推荐(0) 编辑
摘要:已知电文加密规律为:将字母变成其后面的第4个字母,其它字符保持不变。例如a→e,A→E,W→A。 #include #include void main(){ clrscr(); char ch; while ((ch=getchar())!='\n') { if ((ch>='a' && ch='A' && ch'Z' && ch'z')) /**//*ch在加密后越界*/ ... 阅读全文
posted @ 2007-01-12 16:52 齐心 阅读(872) 评论(0) 推荐(0) 编辑
摘要:1#include 2#include 3#include 4void main() 5{ 6 clrscr(); 7 int f=1; 8 float pi=0,t=1,v=1; 9 while (fabs(t)>1e-6)10 {11 pi=pi+t;12 v+=2; /**//*准备下一个累加的数据*/13 f=-f;14 t=f/v;15 }16 pi*=4;... 阅读全文
posted @ 2007-01-12 16:27 齐心 阅读(4382) 评论(1) 推荐(0) 编辑
摘要:#include #include #include void main(){ clrscr(); unsigned i,j,flag,count; /**//**//**//*用flag作标志*/ count=0; /**//**//**//*计数器清0*/ for(i=3;i#include#includevoid main(){ int i,n; for(i=... 阅读全文
posted @ 2007-01-12 15:32 齐心 阅读(1436) 评论(0) 推荐(0) 编辑
摘要:virtual 关键字用于修饰方法、属性、索引器或事件声明,并且允许在派生类中重写这些对象。例如,此方法可被任何继承它的类重写。 1public virtual double Area() 2{3 return x * y;4} 调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则它可能是原始成员。 默认情况下,方法是非虚拟的。不能... 阅读全文
posted @ 2006-12-21 13:37 齐心 阅读(758) 评论(0) 推荐(0) 编辑