自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 【数据结构】AVLTree(高度平衡的二叉搜索树)

AVL树AVL树又称为高度平衡的二叉搜索树,是1962年有俄罗斯的数学家G.M.Adel'son-Vel'skii和E.M.Landis提出来的。它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度。AVL树的性质左子树和右子树的高度之差的绝对值不超过1树中的每个左子树和右子树都是AVL树每个节点都有一个平衡因子(balance factor bf),任

2016-07-08 21:28:44 1459

原创 【数据结构】二叉搜索树

二叉搜索树的性质:每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。左子树上所有节点的关键码(key)都小于根节点的关键码(key)。右子树上所有节点的关键码(key)都大于根节点的关键码(key)。左右子树都是二叉搜索树。//BSTree.h#pragma once templatestruct BSTreeNode{ BSTreeNode(co

2016-07-07 20:51:40 552

原创 【数据结构】红黑树

Test.cpp#includeusing namespace std;#include"RBTree.h"int main(){ TestTree(); getchar(); return 0;}情形1:该树为空树,直接插入根结点的位置,违反性质1,把节点颜色由红改为黑即可。 情形2:插入节点N的父节点P为黑色,不违反任何性质,无需做任何修改。

2016-07-06 20:23:31 528

原创 【C++】万年历(时间计数器)

#includeusing namespace std;class Date{public: Date(int year = 1900,int month = 1,int day = 1) //构造函数 :_year(year) ,_month(month) ,_day(day) { //初始化列表 //检查输入的日期是否合法 if( year <

2015-08-21 22:52:41 865 1

原创 【C++】复数类

#includeusing namespace std;class Complex{public: void Display() { cout<<"Real:"<<_real<<"Image:"<<_image<<endl; } // 带缺省值的构造函数 Complex (double real = 0.0, double image = 0.0) :_real(re

2015-08-21 22:43:23 750 1

原创 【C语言】斐波那契数

递归实现:#includeint fib(int n){ if(n <= 2) return 1; else { count ++; return fib(n - 1) + fib(n - 2); } //return fib(10);}int main (){ printf("%d\n",fib(10)); return 0;}函数实现:#

2015-04-13 22:06:36 1398

原创 【C语言】接受一个整形(无符号),把他转换为字符并打印(递归)

递归实现:#includevoid binary_to_ascii(unsigned int value){ if((value/10) != 0) binary_to_ascii(value/10); printf("%c ",value%10+'0'); }int main(){ unsigned int ret = 1234; binary_to_ascii(ret)

2015-04-13 21:35:23 1043

原创 【C语言】函数递归(求字符串的长度)

方法一:#includeint my_strlen(char *str){ int count = 0; while(*str++ != '\0') { count++; } return count;}int main(){ char *p = "abcdefg"; printf("%d\n",my_strlen(p)); return 0;}方法二:(

2015-04-11 16:01:47 5100

原创 将一个数字字符串转换成这个字符串对应的数字

#include#include#include#includedouble my_atof(char *str){ double ret = 0.0; int sign = 1; char *pointer; while(*str != '\0') { if(isspace(*str)) { str ++; } else if(*str == '-')

2015-03-29 10:55:10 1150

原创 数字字符转换为整数并返回这个整数

#includeint ascii_to_integer(char *str){ int ret = 0; while(*str != '\0') { if((*str '9')) return 0; else { ret = ret * 10 + (*str-'0'); } str ++; } return ret;}int main(

2015-03-29 10:52:11 1378 1

原创 将字符串中的字符反向排序;

#include #includevoid swap(char *p1,char *p2){ char temp = *p1; *p1 = *p2; *p2 = temp;}char * reverse_string(char * string){ char *left = string; char *right = string + strlen(string)-1;

2015-03-29 10:47:41 1029

原创 将src指向的字符串追加到dest指向字符串的后面

#include#include#includechar * my_strcat(char *dest,char const *src){ char *ret = dest; assert((dest != NULL) && (src != NULL)); while(*dest != '\0') { dest ++; } while(*src != '\0') {

2015-03-29 10:45:59 1117 1

原创 (建立静态链表)由3个学生数据的结点组成,要求输出各结点中的数据

#includestruct Student{ int num; float score; struct Student *next;};int main(){ struct Student a,b,c,*head,*p; a.num = 10101; a.score = 89.5; b.num = 10103; b.score = 90; c.num = 1010

2015-03-23 17:11:47 2040

原创 (指向结构体数组的指针)有n个结构体变量,内含学生学号,姓名和3门课的成绩。要求输出平均成绩最高的学生的信息

#include#define N 3struct Student{ int num; char name[20]; float score[3]; float aver;};int main(){ void input(struct Student stu[]); struct Student max (struct Student stu[]); void pri

2015-03-23 17:09:15 11895 1

原创 有n个学生的信息(包括学号,姓名,成绩),要求按照成绩的高低顺序输出学生的信息

#includestruct Student{ int num; char name[20]; float score;};int main(){ struct Student stu[5]={{10101,"Zhang",78},{10103,"Wang",98.5},{10106,"Li",86}, {10108,"Ling",73.5},{10110,"Sun",

2015-03-23 17:05:51 25545 2

原创 有三个候选人,每个选民只能投选一人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出各人得票结果

#include#includestruct Person{ char name[20]; int count;}leader[3]={"Li",0,"Zhang",0,"Sun",0};int main (){ int i; int j; char leader_name[20]; for( i = 0;i < 10;i++) { scanf("%s",lead

2015-03-23 17:01:13 7270 1

原创 建立一个动态数组,输入5个学生的成绩,另外用一个函数检查其中有无低于60分的,输出不合格的成绩

#include#includeint main(){ void check(int *); int *p1; int i; p1 = (int *)malloc(5*sizeof(int)); for(i = 0;i < 5;i ++) { scanf("%d",p1+i); } check(p1); return 0;}void check(int *p)

2015-03-23 16:58:23 3987

原创 将若干个字符串按字母顺序(由小到大)输出。(指针数组)

#include#includeint main (){ void sort(char *name[],int n); void print(char *name[],int n); char *name[] = {"Follow me","BASIC","Great Wall","FORTRAN","Computer design"}; int n = 5; sort(name

2015-03-23 16:55:31 3293

原创 a个学生,各b门课程,找出有不及格的课程的学生及其学号

#includeint main(){ float score[][4] = {{60,70,80,90},{56,89,67,88},{34,78,90,66}}; float *search(float (*pointer)[4]); float *p; int i; int j; for(i = 0;i < 3;i++) { p = search(score+i);

2015-03-23 16:52:12 1325 1

原创 有a个学生,每个学生有b门课程的成绩。要求用户输入学生序号以后,能输出该学生的全部成绩用指针函数来实现

#includeint main (){ float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}}; float *search(float (*pointer)[4],int n); float *p; int i; int k; printf("enter the number of student:"); s

2015-03-22 14:45:44 8586

原创 输入两个整数,然后让用户选择1或者2,选1是调用max函数,输出二者中大数,选2时调用min函数输出二者中的小数(指向函数的指针变量)

#includeint main (){ int max(int,int); int min(int x,int y); int (*p)(int,int); int a; int b; int c; int n; printf("enter a and b:"); scanf("%d,%d",&a,&b); printf("choose 1 or 2:"); scan

2015-03-22 14:43:52 4560 1

原创 3个学生,各学4门课,计算总平均分数以及第n个学生的成绩(用指向数组的指针作函数参数)

#includeint main(){ void average(float *p,int n); void search(float (*p)[4],int n); float score[3][4] = {{65,67,70,60},{80,87,90,81},{90,99,100,98}}; average(*score,12); search(score,2); retu

2015-03-22 14:40:36 8632

原创 用指针方法对10个整数由大到小排序

#includeint main(){ void sort(int x[],int n); int i; int *p; int a[10]; p = a; printf("enter 10 integer numbers:"); for(i = 0;i < 10;i++) { scanf("%d",p++); } p = a; sort(p,10); for(p

2015-03-22 14:38:11 5366 2

原创 将数组a中n个整数按反序存放

数组实现:#includeint main(){ void inv(int x[],int n); int i; int a[10] = {3,7,9,11,0,6,7,5,4,2}; printf("the original array:"); for(i = 0;i < 10;i++) { printf("%5d",a[i]); } printf("\n"); i

2015-03-22 14:36:21 3517

原创 输入3个整数a,b,c。要求按由大到小的顺序将他们输出,用函数实现。

#includeint main(){ void exchange(int *q1,int *q2,int *q3); int a; int b; int c; int *p1; int *p2; int *p3; printf("please enter three numbers:"); scanf("%d,%d,%d",&a,&b,&c); p1 = &a; p2

2015-03-22 14:33:44 8657

原创 给出年、月、日,计算该日是该年的第几天

#includeint main(){ int sum_day(int month,int day); int leap(int year); int year; int month; int day; int days; printf("input date (year,month,day):"); scanf("%d,%d,%d",&year,&month,&day);

2015-03-21 20:51:36 1485

原创 用递归方法求n!

#includeint main(){ int fac(int n); int n; int y; printf("input an integer number:"); scanf("%d",&n); y = fac(n); printf("%d != %d\n",n,y); return 0;}int fac(int n){ int f; if(n < 0)

2015-03-21 20:04:54 1868

原创 输入4个整数,找出其中最大的数,用函数嵌套调用来处理

#includeint main(){ int max4(int a,int b,int c,int d); int a; int b; int c; int d; int max; printf("Please enter 4 interger number:"); scanf("%d %d %d %d",&a,&d,&c,&d); max = max4(a,b,c,d)

2015-03-21 19:53:20 11834

原创 将字符数组s2中全部字符复制到字符数组s1,不用strcpy(复制时‘\0’也要复制过去‘\0’后面的字符不用复制)

#include#includeint main(){ char s1[80]; char s2[80]; int i; printf("input s2:"); scanf("%s",s2); for(i = 0;i <= strlen(s2);i ++) { s1[i] = s2[i]; } printf("s1:%s\n",s1); return 0;}

2015-03-21 19:32:52 6686

原创 比较字符串s1和s2,若s1>s2,输出一个正数,若s1=s2,输出0,若s1<s2,输出一个负数。不用strcpy函数

#includeint main (){ int i; int resu; char s1[100]; char s2[100]; printf("input string1:"); gets(s1); printf("\n"); printf("input string2:"); gets(s2); i = 0; while((s1[i] == s2[i]) && (

2015-03-21 19:30:51 13113 1

原创 输出杨辉三角

#include#define N 10int main (){ int i; int j; int a[N][N]; for(i = 0;i < N;i ++) { a[i][i] = 1; a[i][0] = 1; } for(i = 2;i < N;i ++) { for(j = 1;j <= i -1;j ++) { a[i][j] = a[i

2015-03-21 19:27:34 535

原创 有三个字符串,要求找出其中最大者

#include#includeint main (){ char str[3][20]; char string[20]; int i; for(i = 0;i < 3;i++) { gets(str[i]); } if(strcmp(str[0],str[1]) > 0) { strcpy(string,str[0]); } else { strcpy

2015-03-21 19:25:25 3851

原创 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

#includeint main(){ char string[81]; int i; int num = 0; int word = 0; char c; gets(string); for(i = 0;(c=string[i]) != '\0';i++) { if(c ==' ') { word = 0; } else if(word == 0)

2015-03-21 19:23:21 7906

原创 while语句和do...while语句

#includeint main(){ int i,sum = 0; printf("please enter i,i=?"); scanf("%d",&i); while(i<=10) { sum = sum + i; i ++; } printf("sum=%d\n",sum); return 0;}//i=1,sum=55......i=11,sum=0

2015-03-21 19:21:10 684

原创 3*4矩阵,求出最大的那个元素的值,以及其所在的行号和列号

#includeint main(){ int i = 0; int j = 0; int row = 0; int colum = 0; int max; int a[3][4] = {{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; max=a[0][0]; for(i = 0;i <= 2;i ++) { for(j = 0;j <= 3;j

2015-03-21 19:18:10 3782

原创 输出一个大于三的的整数n,判定它是否为素数

#includeint main(){ int n,i; printf("please enter a integer number,n=?"); scanf("%d",&n); for(i = 2;i <= n-1;i++) { if(n%i == 0) { break; } if(i > n) { printf("%d is not a prim

2015-03-21 19:12:59 3379

原创 运输公司对用户计算运输费用

#includeint main (){ int c,s; float p,w,d,f; printf("please enter price,weight,discount:");//提示输入的数据 scanf("%f,%f,%d",&p,&w,&s); //输入单价,重量,距离 if(s >= 3000) { c=12; //3000km以上为同一折扣

2015-03-21 19:08:32 4735

原创 从原字符串的第m个开始的全部字符复制成为另一个字符串

#include#includeint main (){ void copystr(char *,char *,int); int m; char str1[20],str2[20]; printf("input string:"); gets(str1); printf("which character that begin to copy?"); scanf("%d",&

2015-03-21 15:47:16 5787

原创 字符串反序存放

#include#includeint main(){ void inverse(char str[]); char str[100]; printf("input string:"); scanf("%s",str); inverse(str); printf("inverse string:%s\n",str); return 0;}void inverse(char

2015-03-21 15:35:35 1231

原创 5*5最大的元素放在中心,4个角分别最小的元素

#includeint main(){ void change(int *p); int a[5][5],*p,i,j; printf("input matrix:\n"); //提示输入二维数组元素 for(i = 0;i < 5;i ++) { for(j = 0;j < 5;j ++) { scanf("%d",&a[i][j]); } } p=&a[

2015-03-21 15:29:17 809

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除