博文

[置顶] 距阵(2006-05-09 13:21:00)

摘要:#include<stdio.h>main(){int i,j,k,a[5][5];{for(i=0,k=1;i<=4;i++) for(j=0;j<=4;j++,k++) a[i][j]=k;for(i=0;i<=4;i++){for(j=0;j<=4;j++){if(i>0&&i<4&&j>0&&j<4) printf("   ");else printf("%3d",a[i][j]);}printf("\n");}}}......

阅读全文(1948) | 评论:0

[置顶] 选择法排序(2006-05-08 17:18:00)

摘要:选择法排序 void main(){ int a[10]; int i,j,t,k;for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n"); for(i=0;i<9;i++) {k=i; for(j=i+1;j<10;j++)  if (a[j]>a[k]) k=j;  t=a[k];a[k]=a[i];a[i]=t; } for (i=0;i<10;i++)  printf("%d   ",a[i]); printf("\n");}......

阅读全文(1789) | 评论:0

n!/m!(n-m)!(2006-05-11 14:36:00)

摘要:#include<stdio.h> {long factorial(int n)/*定义factorial函数*/  int i  for(fact=1,i=2;i<=n;i++)      fact*=i;   return(fact); } main() {int m,n;  long c;  scanf("%d%d",&m,&n);  c=factorial(m)/factorial(n);  c=c/factorial(n-m);  printf("c=%ld",c);    ......

阅读全文(3443) | 评论:0

C++/C编程指南(2006-05-08 19:15:00)

摘要:前 言  软件质量是被大多数程序员挂在嘴上而不是放在心上的东西! 除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我以前捏造的C++/C程序怎么会有那么多的毛病?” 别难过,作者只不过比你早几年、多几次惊慌而已。 请花一两个小时认真阅读这本百页经书,你将会获益匪浅,这是前面N-1个读者的建议。 一、编程老手与高手的误区  自从计算机问世以来,程序设计就成了令人羡慕的职业,程序员在受人宠爱之后容易发展成为毛病特多却常能自我臭美的群体。 如今在Internet上流传的“真正”的程序员据说是这样的:真正的程序员没有进度表,只有讨好领导的马屁精才有进度表,真正的程序员会让领导提心吊胆。真正的程序员不写使用说明书,用户应当自己去猜想程序的功能。真正的程序员几乎不写代码的注释,如果注释很难写,它理所当然也很难读。真正的程序员不画流程图,原始人和文盲才会干这事。真正的程序员不看参考手册,新手和胆小鬼才会看。真正的程序员不写文档也不需要文档,只有看不懂程序的笨蛋才用文档。真正的程序员认为自己比用户更明白用户需要什么。真正的程序员不接受团队开发的理念,除非他自己是头头。真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个30小时的调试改错。真正的程序员不会在上午9:00到下午5:00之间工作,如果你看到他在上午9:00工作,这表明他从昨晚一直干到现在。…… 具备上述特征越多,越显得水平高,资格老。所以别奇怪,程序员的很多缺点竟然可以被当作优点来欣赏。就象在武侠小说中,那些独来独往、不受约束且带点邪气的高手最令人崇拜。我曾经也这样信奉,并且希望自己成为那样的“真正”的程序员,结果没有得到好下场。  我从读大学到博士毕业十年来一直勤奋好学,累计编写了数十万行C++/C代码。有这样的苦劳和疲劳,我应该称得上是编程老手了吧? 我开发的软件都与科研相关(集成电路CAD和3D图形学领域),动辄数万行程序,技术复杂,难度颇高。这些软件频频获奖,有一个软件获得首届中国大学生电脑大赛软件展示一等奖。在1995年开发的一套图形软件库到2000年还有人买。罗列出这些“业绩”,可以说明我算得上是编程高手了吧? 可惜这种个人感觉不等于事实。&nb......

阅读全文(3009) | 评论:0

VC的数据类型(2006-05-08 19:11:00)

摘要:我们先定义一些常见类型变量借以说明 int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="女侠程佩君"; char temp[200]; char *buf; CString str; _variant_t v1; _bstr_t v2; 一、其它数据类型转换为字符串 短整型(int) itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制 itoa(i,temp,2); ///按二进制方式转换 长整型(long) ltoa(l,temp,10); 二、从其它包含字符串的变量中获取指向该字符串的指针 CString变量 str = "2008北京奥运"; buf = (LPSTR)(LPCTSTR)str; BSTR类型的_variant_t变量 v1 = (_bstr_t)"程序员"; buf = _com_util::ConvertBSTRToString((_bstr_t)v1); 三、字符串转换为其它数据类型 strcpy(temp,"123"); 短整型(int) i = atoi(temp); 长整型(long) l = atol(temp); 浮点(double) d = atof(temp); 四、其它数据类型转换到CString 使用CString的成员函数Format来转换,例如: 整数(int) str.Format("%d",i); 浮点数(float) str.Format("%f",i); 字符串指针(char *)等已经被CString构造函数支持的数据类型可以直接赋值 str = username; 五、BSTR、_bstr_t与CComBSTR CComBSTR、_bstr_t是对BSTR的封装,BSTR是指向字符串的32位指针。 char *转换到BSTR可以这样: BSTR b=_com_util::ConvertStringToBSTR("数据");///使用前需要加上头文件comutil.h 反之可以使用char *p=_com_util::ConvertBSTRToString(b); 六、VARIANT 、_variant_t 与 COleVariant VARIANT的结构可以......

阅读全文(1810) | 评论:0

c++的头文件(2006-05-08 19:11:00)

摘要:1、传统 C++#include <assert.h>    //设定插入点#include <ctype.h>     //字符处理#include <errno.h>     //定义错误码#include <float.h>     //浮点数处理#include <fstream.h>    //文件输入/输出#include <iomanip.h>    //参数化输入/输出#include <iostream.h>   //数据流输入/输出#include <limits.h>    //定义各种数据类型最值常量#include <locale.h>    //定义本地化函数#include <math.h>     //定义数学函数#include <stdio.h>     //定义输入/输出函数#include <stdlib.h>    //定义杂项函数及内存分配函数#include <string.h>    //字符串处理#include <strstrea.h>   //基于数组的输入/输出#include <time.h>     //定义关于时间的函数#include <wchar.h>     //宽字符处理及输入/输出#include <wctype.h>    //宽字符分类//////////////////////////////////////////////////////////////////////////标准 C++ (同上的不再注释)#include <algorithm>    //STL 通用算法#include <bitset>     //STL 位集容器#include <cctype>#include <cerrno>#include <clocale>#include <cmath>#include <complex>     //复数类#include <cstdio>#include <cstd......

阅读全文(2951) | 评论:0

VC快捷键大全(2006-05-08 19:10:00)

摘要:  F1: 帮助 Ctrl+O   :OpenCtrl+P   :PrintCtrl+N   :NewCtrl+Shift+F2 :清除所有书签F2    :上一个书签Shift+F2  :上一个书签Alt+F2   :编辑书签Ctrl+F2  :添加/删除一个书签F12    :Goto definitionShift+F12  :Goto referenceCtrl+'Num+'  :Displays the next symbol definition or referenceCtrl+'Num-'  :Displays the previous symbol definition or referenceCtrl+J/K  :寻找上一个/下一个预编译条件Ctrl+Shift+J/K :寻找上一个/下一个预编译条件并将这一块选定 Ctrl+End  :文档尾Ctrl+Shift+End :选定从当前位置到文档尾Ctrl+Home  :文档头Ctrl+Shift+Home :选定从当前位置到文档头Ctrl+B/Alt+F9 :编辑断点Alt+F3/Ctrl+F :查找F3    :查找下一个Shift+F3  :查找上一个Ctrl+]/Ctrl+E :寻找下一半括弧Ctrl+Shift+] :寻找下一半括弧并选定括弧之间的部分(包括括弧)Ctrl+Shift+E :寻找下一半括弧并选定括弧之间的部分(包括括弧)F4    :寻找下一个错误/警告位置Shift+F4  :寻找上一个错误/警告位置Shift+Home  :选定从当前位置到行首Shift+End  :选定从当前位置到行尾Ctrl+L   :剪切当前行Ctrl+Shift+L :删除当前行Alt+Shift+T  :交换当前行和上一行Ctrl+Alt+T  :Brings up the completion lis......

阅读全文(1810) | 评论:0

创建一个新文件或重写一个已存在的文件(2006-05-08 18:06:00)

摘要: 函数名: _creat  creat 功  能: 创建一个新文件或重写一个已存在的文件 用  法: int creat (const char *filename, int permiss); 程序例: #include <sys\stat.h> #include <string.h> #include <fcntl.h> #include <io.h> int main(void) {    int handle;    char buf[11] = "0123456789";    /* change the default file mode from text to binary */    _fmode = O_BINARY;    /* create a binary file for reading and writing */    handle = creat("DUMMY.FIL", S_IREAD | S_IWRITE);    /* write 10 bytes to the file */    write(handle, buf, strlen(buf));    /* close the file */    close(handle);    return 0; } ......

阅读全文(1732) | 评论:0

送格式化输出至屏幕(2006-05-08 18:04:00)

摘要: 函数名: cprintf 功  能: 送格式化输出至屏幕 用  法: int cprintf(const char *format[, argument, ...]); 程序例: #include <conio.h> int main(void) {    /* clear the screen */    clrscr();    /* create a text window */    window(10, 10, 80, 25);    /* output some text in the window */    cprintf("Hello world\r\n");    /* wait for a key */    getch();    return 0; } ......

阅读全文(2784) | 评论:0

双曲余弦函数(2006-05-08 18:04:00)

摘要: 函数名: cosh 功  能: 双曲余弦函数 用  法: dluble cosh(double x); 程序例: #include <stdio.h> #include <math.h> int main(void) {    double result;    double x = 0.5;    result = cosh(x);    printf("The hyperboic cosine of %lf is %lf\n", x, result);    return 0; } ......

阅读全文(1754) | 评论:0