c
wxm192939
这个作者很懒,什么都没留下…
展开
-
杨氏三角
一个递增有序矩阵,即每一行按从左向右递增,每一列按从上向下递增。输入一个矩阵和一个整数,判断这个整数是否在矩阵中。思路:遍历这个矩阵(从左下角或者右上角开始遍历),如果数x比矩阵中数大,则列(行)加1,如果比矩阵中数小,则行(列)减1.即从3和7的位置开始遍历只到行和列遍历完,也没有该整数,则不存在反之,该整数存在矩阵中。代码如下:#define _CRT_SEC...原创 2018-10-11 17:31:47 · 1363 阅读 · 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 · 185 阅读 · 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 · 1723 阅读 · 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 · 1414 阅读 · 0 评论 -
替换空格
一个字符串,遇到空格换成%20,其他内容不变,如we are happy,输出为 we%20are%20happy 思路:定义两个数组,第一个数组存放字符串,先遍历数组,不是空格,则将值付给第二个数组,且数组下标加1,若为空格,第二个数组一次赋值%,2,0.如此循环下去,直到第一个数组遇到‘\0’结束,最后输出第二个数组即为结果。代码:#define _CRT_SECURE_NO_...原创 2018-10-14 20:04:53 · 980 阅读 · 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 · 357 阅读 · 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 · 153 阅读 · 0 评论 -
对数组和指针的理解
数组数组是一组相同类型元素的集合。数组分为一维数组和多维数组。sizeof(数组名)/&数组名,这里的数组名表示整个数组;除外都为数组首元素地址。一维数组:数组名的值是一个指针常量,也就是数组第一个元素的地址,它的类型取决于数组元素的类型。数组 具有和指针完全不同的性质,例如,数组具有确定数量的元素,而指针只是一个标量值。但是在两种情况下,数组名不是用指针常量表示:1....原创 2018-08-24 16:29:00 · 178 阅读 · 0 评论 -
数据结构-----排序
归并排序将待排序的元素序列分成两个长度相等的子序列,对每一个子序列排序,然后将他们合并成一个序列。划分归并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 · 172 阅读 · 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 · 11237 阅读 · 1 评论 -
打印一个数的每一位
输入一个数例如1234,输出1 2 3 4如果数字n大于9,则循环调用print函数,当n小于9时,输出余数。代码如下:#include<stdio.h>#define _CRT_SECURE_NO_WARNINGSvoid print(int n){ if (n > 9) { print(n / 10); } printf("%d ", n...原创 2018-10-11 16:32:44 · 284 阅读 · 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 · 140 阅读 · 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 · 660 阅读 · 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 · 261 阅读 · 0 评论