随笔分类 -  【C++语言程序设计】

求最小公倍数和最大公约数的方法
摘要://书本第四章第01题,分别求出两个整数的最大公约数和最小公倍数,用主函数调用两个函数,并输出结果,两个整数由键盘输入。 /* 最小公倍数_--解法一 借助最大公约数求最小公倍数 步骤: 一、利用辗除法或其它方法求得最大公约数; 二、 最小公倍数等于两数之积除以最大公约数。 最小公倍数--解法二 质因数分解 举例:12和27的最小公倍数 12=2×2×3 27=3×3×3 必须用里面数字中的最大次方者,像本题有3和3的立方, 所以必须使用3的立方(也就是3*3*3),不能使用3 所以: 2×2×3×3×3=4 阅读全文

posted @ 2012-03-19 22:24 1.曲待续 阅读(744) 评论(0) 推荐(0) 编辑

打印N阶魔阵的程序
摘要:/*N阶魔阵是一个N X N的由1到N^2之间的自然数构成的矩阵 *它的每一行、每一列和对角线之和均相等。例如,一个三阶 *魔阵,它的每一行、每一列和对角线之和均为15: ________ |8 | 1| 6| ———— |3 | 5| 7| ———— |4 | 9| 2| ———— 编写一个程序打印任意N阶魔阵。 依次将1到N^2填入矩阵,填入的位置有如下规则确定。 *第一个元素放在第一行中间一列 *下一个元素存放在当前元素的上一行、下一列 *如上一行、下一列已经有内容,则下一个元素存放在当前列的... 阅读全文

posted @ 2011-12-31 10:53 1.曲待续 阅读(238) 评论(0) 推荐(0) 编辑

矩阵乘法的程序
摘要://矩阵的乘法 //若有A,B两个矩阵,则要求A的列数等于B的行数,这样才能进行矩阵的乘法 //代码清单: #include<iostream> using namespace std; #define MAX_SIZE 10 //矩阵的最大规模 int main() { int a[MAX_SIZE][MAX_SIZE],b[MAX_SIZE][MAX_SIZE],c[MAX_SIZE][MAX_SIZE]; int i,j,k,rowA,colA,colB; //输入A和B的大小 cout<<"\n输入A的行数、列数和B的列数:"; cin> 阅读全文

posted @ 2011-12-31 02:00 1.曲待续 阅读(232) 评论(0) 推荐(0) 编辑

二分查找程序
摘要://二分查找 #include<iostream> using namespace std; int main() { int lh,rh,mid,x; int array[]={ 0,1,2,3,4,5,6,7,8,9}; cout<<"请输入要查找的数据:"; cin>>x; lh=0; rh=9; while(lh<=rh) //查找区间存在 { mid=(lh+rh)/2; //计算中间位置 if(x==array[mid]) { cout<<x<<"的位置是:"<<m 阅读全文

posted @ 2011-12-31 01:01 1.曲待续 阅读(152) 评论(0) 推荐(0) 编辑

贪婪法
摘要:/*贪婪法是一个不追求最优解,只希望得到较为满意的解的方法。 因为它省去了为找最优解而穷尽所需的时间,所以贪婪法一般可以快速 得到满意的解。贪婪法在求解过程的每一步都选取一个局部最优的策略, 把问题规模缩小,最后把每一步的结果合并起来形成一个全局解。 */ /*贪婪法的基本步骤: (1)从某个初始解出发 (2)采用迭代的过程,当可以向目标前进一步时,就根据局部最优策略,得到 一部分解,缩小问题规模。 (3)将所有解综合起来 */ //实例 用贪婪法解硬币找零问题 /*假设有一种货币,它的面值为1分,2分,5分和1角的硬币,最少需要多少个硬币来 找出k分钱的零钱。按照贪婪法的思想,需要不断使用面 阅读全文

posted @ 2011-12-31 00:24 1.曲待续 阅读(303) 评论(0) 推荐(0) 编辑

用枚举法解决简单的问题
摘要:/* *有了循环控制结构,就可以实现一种典型的解决问题的方法--枚举法。 *枚举法就是对可能是解的众多候选者按某种顺序进行逐一枚举和检验, *从中找出符合要求的候选解作为问题的解。 */ /*一个关于我国四大湖的问题: 四个同学有以下表述: 甲:洞庭湖最大,洪泽湖最小,潘阳湖第三。 乙:洪泽湖最大,洞庭湖最小,潘阳湖第二、太湖第三。 丙:洪泽湖最小,洞庭湖第三。 丁:潘阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。 对于每个湖的大小,已知每个人仅回答对一个,设计程序判别4个湖的大小排序 a、b、c、d分别表示4个湖:a表示洞庭湖、b表示洪泽湖、c表示潘阳湖、d表示太湖 */ //代码清单如下 . 阅读全文

posted @ 2011-12-29 02:01 1.曲待续 阅读(763) 评论(0) 推荐(0) 编辑

简单程序计算无穷级数e^x
摘要://用无穷级数e^x = 1+x+x^2/2!+x^3/3!+……x^n/n!+……计算e^x的近似值 //当x^n/n!<0.000001时结束 // #include<iostream> using namespace std; int main() { double ex,x,p; //ex存储e^x的值,p保存当前项的值 int i; cout << "请输入x:"; cin>>x; ex=0; p=1; i=0; while (p>1e-6) //判断条件是否大于0.000001 { ex +=p; //在循环条件下 阅读全文

posted @ 2011-12-29 01:09 1.曲待续 阅读(986) 评论(0) 推荐(0) 编辑

简单统计分数的程序
摘要://设计一个程序,统计某个班级某门考试成绩中的最高分、最低分和平均分。 //当输入分数为-1时,输入结束 #include<iostream> using namespace std; int main() { int value,total,max,min,noOfInput; total=0; //总分 max=0; min=100; noOfInput=0; //人数 cout << " 请输入第1位学生的成绩: "; cin>>value; while (value!=-1) { ++noOfInput; total +=valu 阅读全文

posted @ 2011-12-29 00:54 1.曲待续 阅读(376) 评论(0) 推荐(0) 编辑

异常处理(c++工具)
摘要:异常处理异常处理的任务程序编制者不仅要考虑程序没有错误的理想情况,更要考虑程序存在错误时的情况,应该能够尽快地发现错误,消除错误。程序中常见的错误有两大类:语法错误和运行错误。在编译时,编译系统能发现程序中的语法错误。有的程序虽然能通过编译,也能投入运行。但是在运行过程中会出现异常,得不到正确的运行结果,甚至导致程序不正常终止,或出现死机现象。这类错误比较隐蔽,不易被发现,往往耗费许多时间和精力。这成为程序调试中的一个难点。在设计程序时,应当事先分析程序运行时可能出现的各种意外的情况,并且分别制订出相应的处理方法,这就是程序的异常处理的任务。在运行没有异常处理的程序时,如果运行情况出现异常,由 阅读全文

posted @ 2011-11-28 14:36 1.曲待续 阅读(245) 评论(0) 推荐(0) 编辑

字符串流的简单实例
摘要:/*在一个字符数组c中存放10个整数,以空格相间隔, 要求将它们放到整型数组,在按大小排序,然后存放回字符数组c中。 */ #include<iostream> #include<strstream> using namespace std; int main() { char c[50]="12 34 65 -23 -32 33 61 99 321 32"; int a[10],i,j,t; cout<<"arrat c:"<<c<<endl; //显示字符数组中的字符串 istrstream 阅读全文

posted @ 2011-11-27 21:42 1.曲待续 阅读(479) 评论(0) 推荐(1) 编辑

关于字符串流的学习(c++)
摘要:/* 字符串流 在字符数组中可以存放字符,也可以存放整数、浮点数以及其他类型的数据。在向字符数组存入数据之前,要先将数据从二进制形式转换为ASCII代码,然后存放在缓冲区,再从缓冲区送到字符数组。从字符数组读数据时,先将字符数组中的数据送到缓冲区,在赋给变量前要先将ASCII代码转换为二进制形式。总之,流缓冲区中的数据格式与字符数组相同。 文件流类有ifstream,ofstream和fstream,而字符串流类有istrstream,ostrstream和strstream。文件流类和字符串流类都是ostream,istream和iostream类的派生类,因此对它们的操作方法是基本相同的。 阅读全文

posted @ 2011-11-27 21:39 1.曲待续 阅读(1378) 评论(0) 推荐(0) 编辑

对二进制文件的操作(c++ 程序设计 by 谭浩强 课本实例)
摘要://将一批数据以二进制形式存放在磁盘文件中 #include<iostream> #include<fstream> using namespace std; struct student { char name[20]; int num; int age; char sex; }; int main() { student stud[3]={"Li",1001,18,'f',"Fun",1002,19,'m',"Wang",1004,17,'f'}; //定义输 阅读全文

posted @ 2011-11-27 20:21 1.曲待续 阅读(366) 评论(0) 推荐(0) 编辑

简单实例-ASCII文件的读写操作(读入字符,将其中的小写字母改为大写字母)
摘要:/*从键盘读入一行字符,把其中的字母字符依次存放在磁盘文件f2.dat中。 再把它从磁盘文件读入程序,将其中的小写字母改为大写字母,在存入磁盘文件f3.dat */ #include<iostream> #include<fstream> using namespace std; //save_to_file函数从键盘读入一行字符,并将其中的字母存入磁盘文件 void save_to_file() { ofstream outfile("f2.dat"); //定义输出文件流对象outfile,并以输出方式打开磁盘文件f2.dat if(!outfi 阅读全文

posted @ 2011-11-27 19:41 1.曲待续 阅读(526) 评论(0) 推荐(0) 编辑

对ASCII文件的操作
摘要:ASCII文件又称文本(text)文件或字符文件,它的每一个字节放一个ASCII代码,代表一个字符对ASCII文件的读写操作可以用以下两种方法:(1)用流插入运算符“<<”和流提取运算符“>>”输入输出标准类型的数据。“<<”和“>>”都已在iostream中被重载为能用于ostream和istream类对象的标准类型的输入输出。由于ifstream和ofstream分别是ostream和istream类的派生类,因此它们从ostream和istream类继承了公用的重载函数,所以在对磁盘文件流对象和流对象运算符“<<”和流提取运算符 阅读全文

posted @ 2011-11-26 11:35 1.曲待续 阅读(390) 评论(0) 推荐(0) 编辑

多文件程序的编写
摘要:多文件程序包含: 头文件.h 源文件.cpp 主函数.cpp //声明抽象基类Shape //Shape.h class Shape { public: virtual float area() const { return 0.0; } //虚函数 virtual float volume() const { return 0.0; } //虚函数 virtual void shapeName() const=0; //纯虚函数 };//声明类Point //Point.h class Point:public Shape //Point是Shape的公用派... 阅读全文

posted @ 2011-11-23 17:21 1.曲待续 阅读(363) 评论(0) 推荐(0) 编辑

虚函数和抽象基类的应用
摘要:/*这个实例是对一个典型例子的改写。在程序中使用虚函数和抽象基类。类的层次结构是抽象基类Shape(形状)。Point(点),Circle(圆),Cylinder(圆柱体)都是Shape类的直接派生类和间接派生类*/ //下面是一个完整的程序,为了便于阅读,分段插入了一些文字说明。 程序如下: 第(1)部分 #include <iostream> using namespace std; //声明抽象基类Shape class Shape { public: virtual float area( )const {return 0.0;}//虚函数 virtual float vo 阅读全文

posted @ 2011-11-23 16:11 1.曲待续 阅读(184) 评论(0) 推荐(0) 编辑

一个典型的例子
摘要:/*这是一个乘上启下的例子。一方面它是有关继承和运算符重载内容的综合应用的例子,通过这个例子可以进一步融会贯通前面所学的内容,另一方面又是作为讨论多态性的一个基础例子。*/ #include <iostream> using namespace std; //声明类Point class Point {public: Point(float=0,float=0); void setPoint(float,float); float getX() const {return x;} float getY() const {return y;} friend ostream ... 阅读全文

posted @ 2011-11-23 15:44 1.曲待续 阅读(175) 评论(0) 推荐(0) 编辑

循环队列的基本实现
摘要:/*2. 完成对循环队列结构的定义,以及对循环队列的各种基本运算的实现(每种基本运算用一个函数来实现)。 基本运算包括: 初始化Init_sqqueue运算、 判队空Empty_sqqueue运算、 入队En_sqqueue运算、 出队De_sqqueue运算、 取队头元素Gethead_sqqueue运算。*/ #include<iostream> using namespace std; typedef char datatype; const int maxsize=100; //队列的容量,元素最多不能超过它 typedef struct { datatype data[m 阅读全文

posted @ 2011-11-09 22:10 1.曲待续 阅读(435) 评论(0) 推荐(0) 编辑

链队列基本运算的实现
摘要://链队列基本运算的实现 #include<iostream> using namespace std; typedef char datatype; //队列元素类型,假设为字符型 typedef struct node * pointer; //结点指针类型 struct node //链队结点结构 { datatype data; pointer next; }; typedef struct { pointer front; pointer rear; } lkqueue; //初始化 lkqueue * Init_lkqueue() { lkqueue *... 阅读全文

posted @ 2011-11-09 21:55 1.曲待续 阅读(681) 评论(0) 推荐(0) 编辑

导航