c
wxm192939
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
杨氏三角
一个递增有序矩阵,即每一行按从左向右递增,每一列按从上向下递增。输入一个矩阵和一个整数,判断这个整数是否在矩阵中。 思路: 遍历这个矩阵(从左下角或者右上角开始遍历),如果数x比矩阵中数大,则列(行)加1,如果比矩阵中数小,则行(列)减1. 即从3和7的位置开始遍历 只到行和列遍历完,也没有该整数,则不存在 反之,该整数存在矩阵中。 代码如下: #define _CRT_SEC...原创 2018-10-11 17:31:47 · 1441 阅读 · 0 评论 -
求素数
方法一:输入一列数字,该数对比它小的数求余,如果余数为0,说明有因子,肯定不是素数,如果余数不为0,则为素数。 #include<stdio.h> int main() { int i = 0; int j = 0; for (i = 101; i < 200; i++) { for (j = 2; j < i; j++) { if (i%j ==...原创 2018-10-11 17:10:11 · 726 阅读 · 0 评论 -
求闰年
输入年份:分两种情况 如果year%4==0且year%100!=0,则为闰年 如果year%400==0,则为闰年 #include<stdio.h> int main() { int year = 0; for (year = 1000; year <= 2000; year++) { if (year % 4 == 0 && year % ...原创 2018-10-11 16:47:15 · 194 阅读 · 0 评论 -
打印一个数的每一位
输入一个数例如1234,输出1 2 3 4 如果数字n大于9,则循环调用print函数,当n小于9时,输出余数。 代码如下: #include<stdio.h> #define _CRT_SECURE_NO_WARNINGS void print(int n) { if (n > 9) { print(n / 10); } printf("%d ", n...原创 2018-10-11 16:32:44 · 353 阅读 · 0 评论 -
斐波那契数列
一列数:从1开始,前两项为1,从第三项开始每一项等于前两项之和。 例:1 1 2 3 5 8 13 推导出公式则为: n<3时 f(n)=1; n>2时 f(n)=f(n-1)+f(n-2); 递归算法: #include<stdio.h> int fib(int n) { if (n <= 2) { return 1; } else {...原创 2018-10-10 20:55:18 · 11570 阅读 · 1 评论 -
数据结构-----排序
归并排序 将待排序的元素序列分成两个长度相等的子序列,对每一个子序列排序,然后将他们合并成一个序列。 划分 归并 void mergesort(int* a, int begin, int end, int* tmp)//归并排序 { assert(a); if (begin >= end) { return; } int mid = begin +((end -...原创 2018-09-30 16:10:06 · 253 阅读 · 0 评论 -
对数组和指针的理解
数组 数组是一组相同类型元素的集合。 数组分为一维数组和多维数组。 sizeof(数组名)/&数组名,这里的数组名表示整个数组;除外都为数组首元素地址。 一维数组: 数组名的值是一个指针常量,也就是数组第一个元素的地址,它的类型取决于数组元素的类型。数组 具有和指针完全不同的性质,例如,数组具有确定数量的元素,而指针只是一个标量值。但是在两种情况下,数组名不是用指针常量表示:1....原创 2018-08-24 16:29:00 · 242 阅读 · 0 评论 -
搜索二叉树的递归&非递归实现
BSTree.h #pragma once #include <stdio.h> #include <malloc.h> #include <assert.h> typedef int BSTDataType; typedef struct BSTreeNode { struct BSTreeNode* _left; struct BSTreeNo...原创 2018-08-24 16:28:24 · 234 阅读 · 0 评论 -
双向循环链表基本实现
实现双向循环链表的创建新节点,初始化,销毁,增加,删除,查找,求长度以及判空等基本操作。 头文件 List.h #pragma once #include<stdio.h> #include<stdlib.h> #include<assert.h> typedef int LTDataType; //双向循环带头链表 typedef struct Lis...原创 2018-08-24 16:26:13 · 428 阅读 · 0 评论 -
替换空格
一个字符串,遇到空格换成%20,其他内容不变,如we are happy,输出为 we%20are%20happy 思路:定义两个数组,第一个数组存放字符串,先遍历数组,不是空格,则将值付给第二个数组,且数组下标加1,若为空格,第二个数组一次赋值%,2,0.如此循环下去,直到第一个数组遇到‘\0’结束,最后输出第二个数组即为结果。 代码: #define _CRT_SECURE_NO_...原创 2018-10-14 20:04:53 · 1054 阅读 · 0 评论 -
统计二进制数中1的个数
思路:定义n表示1的个数,一个二进制数按位遍历一遍,并且每一位按位与1,结果为1,则n加1,输出n即为结果。 代码: #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> int main() { int num = 7; int ...原创 2018-10-14 20:11:29 · 1522 阅读 · 0 评论 -
求次方
求double型的base的int型的j次方是多少? 思路: 1.0的任何次方都为0; 2.任何数的0次方都为1; 3.j大于0,直接计算base的j次方; 4.j小于0,计算结果取base的倒数。 代码: #include<stdio.h> #include<string.h> #include<stdlib.h> int mul(double...原创 2018-10-14 20:25:45 · 1812 阅读 · 0 评论 -
报时助手
问题描述 给定当前的时间,请用英文的读法将它读出来。时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“three o'clock"。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty"。 时和分的读法使用的是英文数字的读法,其中0...原创 2018-11-13 19:52:20 · 318 阅读 · 0 评论 -
返回链表中间节点
ListNode *FindKthToTail(ListNode* pListHead,int k){ ListNode* slow=pListHead; //定义一个慢指针 ListNode* fast=pListHead; //定义一个快指针 while(k--){ if(fast){ //当快指针不为空时, fast=fast-&...原创 2019-04-26 20:14:13 · 346 阅读 · 0 评论
分享