C/C++
文章平均质量分 75
fucangzxx
这个作者很懒,什么都没留下…
展开
-
C++虚继承中的对象内存布局
钻石型虚拟继承虚继承是为了解决多继承中的数据冗余而出现的。eg:650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/7D/1C/wKioL1bgC5DDO7E6AAAh_Ka19tA339.png" title="xujicheng.png" alt="wKioL1bgC5DDO7E6AAAh_Ka19tA339.png" />#de原创 2016-05-29 21:35:58 · 740 阅读 · 0 评论 -
单链表的各种操作
#include #include typedef struct{ char data; struct Node * next;}Node, *LinkList;void meau();LinkList CreateFromHead();void ListLength(LinkList L);void printLink(LinkList L);LinkList inve原创 2016-05-29 21:35:26 · 354 阅读 · 0 评论 -
全局变量 静态变量 局部变量分析
本文通过下面例子进行全局变量、静态变量、局部变量分析。#include #include int count = 3;/*全局变量count*/int main(){ int i, sum, count = 2; /*局部变量count*/ for (i = 0, sum = 0; i < count; i += 2, count++) { static int count原创 2016-05-29 21:35:24 · 589 阅读 · 0 评论 -
三子连珠游戏
玩家通过键盘输入要落子的地点,电脑随机产生一个没有棋子的棋盘坐标并落子,如果有一方可以做到三个子连着或对角线连着,则此方赢;如果双方直到棋盘下满都没有任一方均做到,则为平局。#include #include #include #define LINE 3#define LIST 3void print(char arr[LINE][LIST]);void player(char原创 2016-05-29 21:35:21 · 2507 阅读 · 0 评论 -
折半查找------在一个升序的有序数组中查找某个具体的数字
非递归法:#include #include #define number 6 int binsearch(int x, int *arr, int left, int right);int main(){ int x = 0, inter = 0; int arr[number] = { 1, 5, 12, 36, 45, 98 }; /* * printf("请输入可查找到的原创 2016-05-29 21:35:18 · 1986 阅读 · 0 评论 -
括号匹配问题
假设表达式中包含三种括号:圆括号、方括号和花括号,它们可以相互嵌套,如({ }[ ]([{ }]))等均为正确的格式,而{]}等为不正确的格式。以下为算法程序:/*括号匹配问题*/#include #include int main(){ int count[3] = { 0 }; char ch; while ((ch = getchar()) != EOF) { switc原创 2016-05-29 21:35:15 · 330 阅读 · 0 评论 -
学生成绩管理系统
功能简介:用户输入学生信息、课程信息、学生成绩,对所有学生的成绩进行排名。import java.util.*;public class chengji_guanli { public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.print("请输入学生的人数 ->原创 2016-05-29 21:35:12 · 418 阅读 · 0 评论 -
制作日历
解决的问题:当用户输入要查找的年份和月份时,可以显示出当年当月的日历。程序代码:#include #include int main(){ int year = 0, month = 0, sum = 0, weekday = 0, month_count = 0; printf("请输入要查找的年份 -> "); scanf_s("%d", &year); printf("请输入要原创 2016-05-29 21:35:09 · 542 阅读 · 0 评论 -
求二进制数中1的个数
方法1:除2取余法,主要缺点是只能计算正整数,对于负数不能计算(若输入一个负数,答案为0)。具体代码如下:#include #include int main(){ int count_one_bits(int value); int v; printf("请输入一个整数:"); scanf("%d", &v); count_one_bits(v); system("pause原创 2016-05-29 21:35:06 · 266 阅读 · 0 评论 -
替换字符串中的空格
题目:实现一个函数,要求吧字符串中的所有空格替换成“%20”。例如“we are happy."-->”we%20are%20happy."#include #include #include void strReplace(const char *dst, char *pun, const char *src);int countSpace(const char *dst);int原创 2016-05-29 21:35:29 · 253 阅读 · 0 评论 -
一组数中,只有两个数只出现了奇数次,其他所有数都是成对出现的,请找出那两个数
先看一个简单的,一组数中,只有一个数只出现了奇次,其他所有数都是成对出现的,找出出现奇次数的数。对于这个题,我们只需对所有数及逆行异或即可。理论公式:a⊕b=b⊕aa⊕0=aa⊕b⊕b=aa⊕(b⊕c)=(a⊕b)⊕c代码:#include #include int main(){ int arr[] = { 1, 2, 3, 4, 1, 2, 3 }; int ret = 0; i原创 2016-05-29 21:35:32 · 2572 阅读 · 1 评论 -
单继承与多继承中的虚函数表和虚函数指针
首先,我们了解一下何为单继承,何为多继承??单继承:一个子类只有一个直接父类。多继承:一个子类有两个或多个直接父类。单继承中的虚函数表分析:示例程序:#include using namespace std;typedef void(*FUNC)();class Base{public: virtual void func1() { cout << "Base::func1(原创 2016-05-29 21:35:55 · 2649 阅读 · 0 评论 -
单链表的操作
数据结构:typedef int DataType;typedef struct Node{ DataType data; struct Node *next;}Node,* LinkList;1、从尾到头打印单链表void TailToFrontPrint(LinkList head)/*从尾到头打印单链表*/{ if (head != NULL) { TailToFron原创 2016-05-29 21:35:52 · 273 阅读 · 0 评论 -
两个链表的合并
主要功能:实现两个链表的合并基本功能要求:(1)建立两个链表A和B,链表元素个数分别为m和n个。(2)假设元素分别为(x1,x2,…xm),和(y1,y2, …yn)。把它们合并成一个线性表C,使得:当m>=n时,C=x1,y1,x2,y2,…xn,yn,…,xm当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn输出线性表C:测试数据:1) A表(30,41,15,12,56,80)B原创 2016-05-29 21:35:49 · 1254 阅读 · 4 评论 -
C语言的注释与C++注释的转换
本博客主要考虑以下几种情况,可能有的地方没有考虑到,望读者指出。// 1.一般情况/* int i = 0; */// 2.换行问题/* int i = 0; */int j = 0;/* int i = 0; */int j = 0;// 3.匹配问题/*int i = 0;/*xxxxx*/// 4.多行注释问题/*int i=0; int j = 0;int k = 0;*/int k原创 2016-05-29 21:35:46 · 379 阅读 · 0 评论 -
C语言利用结构体实现一个通讯录
实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供以下方法:1. 添加联系人信息2. 删除指定联系人信息3. 查找指定联系人信息4. 修改指定联系人信息5. 显示所有联系人信息6. 以名字排序所有联系人7. 清空所有联系人student.h:#ifndef __CRT#define _CRT_SECURE_NO_WARNINGS 1#end原创 2016-05-29 21:35:43 · 2186 阅读 · 0 评论 -
二叉树 的先序 中序、后序遍历、层次遍历以及树状打印等操作
#include #include #define MAXSIZE 50typedef struct Node{ char data; struct Node *LChild; struct Node *RChild;}BiTNode,*BiTree;typedef struct{ BiTree element[MAXSIZE]; int front; int re原创 2016-05-29 21:35:41 · 1067 阅读 · 0 评论 -
快速排序函数的比较函数
快速排序函数函数原型:void qsort(void *base, size_t num, size_t width, int(*compare)(const void *num1, const void *num2));参数:1、待排序的数组的首地址 2、数组中待排序元素的个数 3、各元素占用空间的大小 4、指向比较函数的指针,用于确定排序的顺序compare函数的原创 2016-05-29 21:35:38 · 998 阅读 · 1 评论 -
冒泡排序函数,可以给任意类型的数据排序,比如整形数组,字符数组,字符串数组等
冒泡排序函数函数原型:void bubble(void *base, size_t num, size_t width, int(*compare)(const void *num1, const void *num2));功能:使用冒泡法排序对任意类型的数据排序参数:1、待排序的数组的首地址 2、数组中待排序元素的个数 3、各元素占用空间的大小 4、指向比较函数的指原创 2016-05-29 21:35:35 · 773 阅读 · 0 评论 -
网页音乐盒
用dreamweaver制作一个简单的网页音乐盒:首先把你要把音乐盒中播放的音乐和所需要的背景图片下载到你的电脑上,本代码以屠洪刚的风云为例,具体的操作代码如下:650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/73/98/wKiom1YB6EWC-7oDAANX5vsu_Ug910.jpg" title="8Z1YR3CJ[%~R原创 2016-05-29 21:35:03 · 794 阅读 · 0 评论