C&C++
杂家
这个作者很懒,什么都没留下…
展开
-
算法竞赛入门经典 例题 6-12 油田(Oil Deposits, UVa 572)
输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块。如果两个字符“@”所在的格子相邻(横、竖或者对角线方向),就说它们属于同一个八连块。Sample Input1 1 * 3 5 *@*@* **@** *@*@* 1 8 @@****@* 5 5 ****@ *@@*@ *@**@ @@@*@ @@**@ 0原创 2016-11-27 17:38:04 · 1311 阅读 · 0 评论 -
MFC中动态创建多个按钮并实现其消息响应
在MFC中,一般通过控件栏直接向对话框中添加按钮控件,并双击按钮添加该按钮控件的消息响应函数。但是经常我们需要根据程序输入或运行时信息在界面上动态生成一个或多个按钮,并分别添加消息响应,实现这一目标包括如下几步:1.在类中声明按钮变量指针CButton* btn。2.在类中声明并定义按钮控件的ID, buttonID=10000。3.在类的OnInitDialog()函转载 2013-03-01 20:55:42 · 13926 阅读 · 4 评论 -
CFontDialog对话框
CFontDialog类对象可以提供一个选择不同字体的对话框. CFontDialog类中常用的成员函数如表1所示。表1 CFontDialog类中常用的成员函数函 数 名说 明GetCurrentFont返回用户选择的字体转载 2013-02-28 15:37:21 · 1754 阅读 · 0 评论 -
WM_CTLCOLOR和OnCtlColor消息的用法
很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等, 其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:1.首先在自己需要设置界面的对话框上转载 2013-02-28 15:17:14 · 551 阅读 · 0 评论 -
不能访问类查看信息文件 解决办法
当打开一个vc++工程时,提示“不能访问类查看信息文件 类查看信息将不可用”,解决办法为:删除掉目录中clw及ncb文件,再打开,就可以了。转载 2013-02-28 13:19:14 · 986 阅读 · 0 评论 -
GetModuleFileName
函数原型:DWORD GetModuleFileName(HMODULE hModule,LPTSTR lpFilename,DWORD nSize);函数参数说明:hModule HMODULE 装载一个程序实例的句柄。如果该参数为NULL,该函数返回该当前应用程序全路径。lpFileName LPTSTR 是你存放返回的名字的内存块的指针,是一个输出参数转载 2013-03-11 14:34:23 · 934 阅读 · 0 评论 -
字符指针变量与字符数组的区别
定义方法不同 char str[10]; char *ptr;赋值方法和含义不同 char str[10]; str="China";/*错误*/ strcpy(str,"China");/*正确*/ char *ptr;原创 2013-01-07 20:09:58 · 607 阅读 · 0 评论 -
字符指针与字符数组的区别
#include#includeint main(){ char str[]="Student\tName\\\n"; char *p=str; int len,size; len=strlen(str); size=sizeof(str); printf("len=%d,size=%d\n",len,size); printf("%s\n",str); len=原创 2013-01-06 09:43:06 · 679 阅读 · 0 评论 -
计算机经典书籍(转载)
1. CC程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---BrianW.Kernighan“C语言之父”C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen PrataC程序设计(第三版)---------------------------谭浩强C语言大全(第四版)--------------------转载 2012-11-23 13:46:44 · 1144 阅读 · 0 评论 -
CPaintDC、CClientDC、CWindowDC和CMetaFileDC类的主要特点及区别
1、 设备环境(DC) (1)在Windows中,显示工作是基于设备环境的。所谓设备环境(DC)是一种Windows数据结构,该结构包含应用程序设备输出时所需要的信息。 (2)在使用任何绘图函数之前必须建立一个设备环境对象。 (3)在Visual C++ 6.0的MFC中提供了设备环境类CDC,它封装了绘图所需要的所有函数,其中包括了大多数的Windows API中的转载 2013-03-01 13:42:29 · 659 阅读 · 0 评论 -
VC中菜单项命令的响应顺序
VC的菜单项命令响应顺序为:视类、文档类、框架类,最后是程序类。可以给同一个菜单项在MFC ClassWizard中Class Name中选择不同的类,分别添加响应函数(如显示一个对话框)进行测试。原创 2013-03-22 16:09:22 · 922 阅读 · 0 评论 -
设M 是一个m×n 的矩阵,其中每行的元素从左到右单增有序,每列的元素从上到下单增有序。 给出一个分治算法计算出给定元素x 在M 中的位置或者表明x 不在M 中。分析算法的时间复杂性。
#include "stdio.h"int M[5][5]={ { 1, 2, 3, 4, 5}, { 6, 7, 8, 9,10}, {11,12,13,14,15}, {16,17,18,19,20}, {21,22,23,24,25}};int x=26;int MatrixBinary(int M[5][5],int rb,int re,int cb原创 2013-05-21 18:47:39 · 7789 阅读 · 2 评论 -
算法竞赛入门经典:习题3-8 手机键盘(keyboard)
输入一个由小写字母组成的英文单词,输出用手机的默认英文输入法的敲键序列。例如要打出pig这个单词,需要按1次p,3次i,(稍作停顿后)1次g,记为p1i3g1。#include#include#define MAXN 50int main(){ char word[MAXN],*p,*keyBd[8]={"abc","def","ghi","jkl","mno","pqrs"原创 2015-11-26 22:15:20 · 1985 阅读 · 0 评论 -
排列(permutation):用1,2,3,...,9组成3个三位数abc, def和ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。输出所有解。提示:不必太动脑筋。
习题2-10 排列(permutation)用1,2,3,...,9组成3个三位数abc, def和ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。输出所有解。提示:不必太动脑筋。#include//分解三位数,数组相应位置值加一 int fun(int t[],int i){ t[i/100]++; t[(i % 100)/10]++; t[i % 10]原创 2015-11-24 22:37:37 · 5580 阅读 · 0 评论 -
提取用','分割的单词
#include #include #include #include #include using namespace std;int main(){ string strWord; vector word; cin>>strWord; cout<<strWord; string::iterator start=strWord.begin(); while(start原创 2013-08-18 11:03:31 · 1013 阅读 · 0 评论 -
C++文件输入输出小例子
#include #include #include using namespace std;int main(){ ifstream infile; ofstream outfile; string str; infile.open("in.txt"); outfile.open("out.txt"); if (!infile) { cerr<<"error:una原创 2013-08-16 08:25:58 · 2005 阅读 · 2 评论 -
C++统计单词小程序
#include #include #include #include using namespace std;int main(){ string str; ifstream infile; ofstream outfile; map wordCount; map::iterator iter; infile.open("in.txt"); outfile.open原创 2013-08-16 08:44:45 · 2153 阅读 · 0 评论 -
对容器元素进行排序
#include #include #include #include #include #include using namespace std;bool isShorter(const string &s1,const string &s2){ return s1.size()<s2.size();}bool GT6(const string &s){ retur原创 2013-08-17 11:30:25 · 2785 阅读 · 0 评论 -
虚函数、纯虚函数详解
#include #include using namespace std;class Student{ string name; string number; int age;public: Student(){name="guoqc",number="070001",age=30;} void pt(){cout<<name<<endl<<number<<endl<<a转载 2013-08-24 11:35:39 · 517 阅读 · 0 评论 -
C++ explicit关键字应用方法详解
C++编程语言中有很多比较重要的关键字在实际编程中起着非常重要的作用。我们今天为大家介绍的C++ explicit关键字就是其中一个应用比较频繁的关键字。下面就让我们一起来看看这方面的知识吧。C++ explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的转载 2013-08-21 20:17:38 · 509 阅读 · 0 评论 -
N!末尾有几个0
#includeint main(){ int zero,number,i,temp;//zero:末尾0的个数 number:求number的阶乘 zero=0; temp=1; printf("input number:"); scanf("%d",&number); for(i=number;i>=1;i--) { temp*=i; while(temp%10=原创 2012-10-25 13:33:08 · 1105 阅读 · 0 评论 -
利用fscanf和fprintf实现文件读取和写入
#include int main(){ int val; char srcFilename[20]="src.txt"; char dstFilename[20]="dst.txt"; FILE *fpSrc=NULL; FILE *fpDst=NULL; if ((fpSrc=fopen(srcFilename,"r"))==NULL)//以只读方式打开源文件 { pr原创 2012-11-17 17:07:31 · 7190 阅读 · 1 评论 -
模拟发扑克牌程序
#include#include #include #include struct CARD{ char suit[10];//花色 char face[10];//牌面};void Deal(struct CARD *wCard);void Shuffle(struct CARD *wCard);void FillCard(struct CARD wCard[],c原创 2012-11-09 13:40:13 · 2068 阅读 · 0 评论 -
石头、剪刀、布程序,C语言模拟
/*同问用C编写:同学 A 和B两个人玩最简单的石头剪子布游戏,游戏规则如下:石头赢剪子;剪子赢布;布赢石头;如果二者相同,则平局;并且规定,如果赢一局则得 2 分,平局的话双方各得 1 分,输的人不得分。两个人一共玩了 N 局,并且已知每个人每局出的是什么,我们用字符’R’代表石头,’S’代表剪子,’P’代表布。并且给出两个字符串代表两个人每局的出法。对于这个游戏,输出赢家是谁,并且原创 2012-10-23 19:24:10 · 8713 阅读 · 0 评论 -
折半查找程序
#includeint BinSearch(int a[],int n,int x)//数组中元素为递增排列{ int low,high,mid; low=0; high=n-1; while(low<=high) { mid=(low+high)/2; if(x>a[mid]) { low=mid+1; } else if(x<a[mid]) {原创 2012-11-05 15:54:28 · 925 阅读 · 0 评论 -
完数程序
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。定义与列举 各个小于它的约数(真约数)的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数。(列出某数的约数,去掉该数本身,剩下的就是它的真约数) 例如:第一个完全数是6,它有约数1、2、3、6,除原创 2012-10-31 16:10:13 · 2227 阅读 · 0 评论 -
输出星号(一)
输出如下形状星号,下面是输入6或7时的情况:******* ***** *** * *** ***** *******#include int main(void){ int row,i,j;//row是输入的行数 scanf("%d",&row); if(row%2==0)//如果输入的行是偶数,row自动加一原创 2012-10-21 19:11:19 · 1142 阅读 · 1 评论 -
判断素数
#includeint prime(int n){ int i; if(n==2)return 1; for(i=2;i<=(int)sqrt(n);i++) { if(n%i==0) return 0; return 1; } }int原创 2012-10-30 09:30:41 · 719 阅读 · 2 评论 -
输入五分制成绩,统计每种成绩的人数
从键盘输入一个班级学生(人数不确定)一门课的五分制成绩,编程要求每输入一个五分制成绩,就显示其所在的分数段,同时,统计并打印每种成绩的人数。#includeint main(){ int aCount=0,bCount=0,cCount=0,dCount=0,eCount=0; char grade; printf("Please enter the letter gra原创 2012-10-30 09:28:03 · 3352 阅读 · 0 评论 -
递归算法求某一数在数组中出现的次数
int times(int searchNum, int arr[], int length) // length 是数组元素个数,searchNum是要查找的值{ int num = (arr[length - 1] == searchNum) ? 1 : 0; if(length > 0) { return原创 2012-10-12 22:03:54 · 1708 阅读 · 0 评论 -
汉诺塔程序
#include void Hanoi(int n,char a,char b,char c);void Move(int num,char from,char to);int main(){ int n; printf("Input the number of disk:"); scanf("%d",&n); printf("The step of moving %d转载 2012-11-09 13:41:15 · 554 阅读 · 0 评论 -
判断绝对素数
题目描述绝对素数是指本身是素数,其逆序数也是素数的数。例如:10321与12301是绝对素数。编写一个程序,求出所有m~n(m≥11,n≤1000)之间的绝对素数。程序要求实现两个自定义函数,prime(n)用于判断一个整数n是否是素数,是则返回1,否则返回0;inv(n)用于对整数n进行逆序,函数返回逆序后的整数。主函数通过调用上述两个自定义函数实现绝对素数的判断和输出。输入原创 2012-11-10 19:24:18 · 7600 阅读 · 0 评论 -
彩球分配问题:共有12个彩球,4个红的,4个白的,4个黄的,从中挑出8个球放入3个不同的口袋(口袋编号分别为a、b、c)编写程序打印输出所有可能的放法。
共有12个彩球,4个红的,4个白的,4个黄的,从中挑出8个球放入3个不同的口袋(口袋编号分别为a、b、c)编写程序打印输出所有可能的放法。以下是和别人讨论得出的程序,感觉还有很大的优化空间,大家可以把自己的代码贴上来一起分享。#include int main(){ int honga,baia,huanga,hongb,baib,huangb,hongc,baic,huangc,s原创 2012-11-12 19:10:11 · 3949 阅读 · 0 评论 -
文件拷贝
#include #define MAXPATH 100int CopyFile(const char* srcName,const char* dstName);int main(){ char srcFilename[MAXPATH]; char dstFilename[MAXPATH]; printf("The source filename:"); scanf("%s转载 2012-11-09 20:43:23 · 486 阅读 · 0 评论 -
文件追加
#include int main(){ FILE *fpSrc=NULL; FILE *fpDst=NULL; //char ch; char srcFilename[20]="src.txt"; char dstFilename[20]="dst.txt"; if ((fpSrc=fopen(srcFilename,"r"))==NULL) { printf("Can'原创 2012-11-18 08:56:22 · 684 阅读 · 0 评论 -
利用fgets和fputs实现文件拷贝
#include int main(){ FILE *fpSrc=NULL; FILE *fpDst=NULL; char str[11]; if ((fpSrc=fopen("src.txt","r"))==NULL) { printf("Can't open the file!\n"); exit(0); } if ((fpDst=fopen("dst.txt","原创 2012-11-18 09:52:15 · 3494 阅读 · 0 评论 -
安装msdn出现“无法显示 Microsoft 文档资源管理器”错误
在 windows 2003 上安装完 VS 2008 和 MSDN,结果打开 MSDN 时出现如上错误提示,在网上搜索尝试了如下5中方案方案一:1、卸载MSDN。2、删除HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDN这个键3、重新安装MSDN。方案二:执行C:/Program Files/Common Files/Micros转载 2012-12-01 15:56:45 · 936 阅读 · 0 评论 -
Visual studio 2005/2008起始页更改方法
工具->导入和导出设置->选择“重置所有设置”->选择“否,仅重置设置,从而覆盖我当前的设置”->选择你需要的起始页环境(如:“Web开发设置”)->完成原创 2012-11-30 13:22:46 · 667 阅读 · 0 评论 -
文曲星猜数游戏
模拟文曲星上的猜数游戏,先由计算机随机生成一个各位相异的4位数字,由用户来猜,根据用户猜测的结果给出提示:xAyB。其中,A前面的数字表示有几位数字不仅数字猜对了,而且位置也正确,B前面的数字表示有几位数字猜对了,但是位置不正确。 允许用户猜的最多次数由用户从键盘输入。如果猜对,则提示“Congratulation!”;如果在规定的次数以内仍然猜不对,则给出提示“Sorry,yo原创 2012-11-14 19:28:30 · 6893 阅读 · 2 评论 -
类似打分程序
有40个学生被邀请来给食堂的质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试统计调查结果,并用“*”打印出如下形式的统计结果直方图。Grade Count Histogram1 5 *****原创 2012-11-14 14:30:33 · 1554 阅读 · 0 评论