![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习方法
猪饲夫妇、
这个作者很懒,什么都没留下…
展开
-
整形有序数组二分查找
写一个函数,实现一个整形有序数组的二分查找。二分查找法(折半查找):是一种效率较高的查找方法,但必须要求查找的序列是有序排列的。思路:在数组中查找一个数字存不存在时,将目标数字与数组的中间数进行比较,若目标数字比中间数大时,数组左下标增加到mid+1;同理,目标数字比中间数小时,数组右下标变为mid-1;与此种方法的好处是一次性可排除一半的数字,大大提高了程序的效率。#include<...原创 2018-11-22 17:44:15 · 391 阅读 · 0 评论 -
统计0-100中出现了多少次数字9
问题描述:计算0-100之间出现数字9的次数。注意:数字99存在两个数字9,故需计算两次。#include<stdio.h>#include<windows.h>int main(){ int i, count = 0; for (i = 1; i <= 89; i++) { if ((i % 9 == 0 && i / 9 ==...原创 2018-12-18 23:40:55 · 1612 阅读 · 0 评论 -
阿里巴巴经典面试题(关于类继承)
阿里巴巴经典面试题(关于类继承)//当继承发生在主类外时class A{ static{ System.out.println("1.这是A类的静态块"); } { System.out.println("2.这是A类的构造块"); } public A(){ System.out.println("3.这...原创 2018-12-24 19:42:24 · 99 阅读 · 0 评论 -
杨式矩阵
杨式矩阵题目描述:二维数组,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。一个函数,输入一个数字,判断二维数组中是否存在。时间复杂度为O(n)题目思路:(1)观察矩阵数字排列顺序(2)右上角的数字比左边的数字大,比下面的数字小,故可使用此为起始点进行对比,若目标数字比起始数字大则向下找,否则向左找,这样的好处是一次性可排除一行数字。(同理,也可使用左下角数字作为...原创 2018-12-10 21:29:14 · 117 阅读 · 0 评论 -
c语言计算器
c语言计算器两种方法//一般做法#include<stdio.h>#include<windows.h>//#include<assert.h>void menu(){ printf("**************************\n"); printf("****欢迎来到计算器页面****\n"); printf("**** 1.ad...原创 2018-11-22 22:03:32 · 10610 阅读 · 3 评论 -
一个数组只有两个数字单独出现一次
问题描述:一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字,编程实现。问题思路:(1)先将数组元素整体异或;(2)将异或结果从最低位找第一个出现的1;(3)遍历数组将其分为A、B组;(4)对A、B组分别进行异或。#include<stdio.h>#include<windows.h>#include<assert.h>...原创 2018-11-28 22:30:45 · 505 阅读 · 0 评论 -
青蛙跳台阶问题
剑指Offer算法题——青蛙跳台阶问题(递归方法)问题描述:一只青蛙一次可以跳上一级台阶,也可以跳上两级台阶。求该青蛙跳到n级台阶总共有多少种跳法?答题思路:假设跳1个台阶 共1种跳法假设跳2个台阶 共2种跳法假设跳3个台阶 共3种跳法(1)全部每次跳一个台阶 1(2)最多跳一次每次跳两个台阶 2假设跳4个台阶 共5种跳法(1)全部每次跳一个台阶 1(2)最多...原创 2018-11-25 12:48:02 · 127 阅读 · 0 评论 -
c语言——喝汽水问题
问题描述:喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以买多少汽水。问题思路:(1)可以确保的是有多少钱就可以喝多少瓶汽水;(2)计算空瓶数,只要空瓶数大于1,就可以换取汽水。#include<stdio.h>#include<windows.h>int popNumber(unsigned int money){ int pop = mon...原创 2018-11-29 15:28:34 · 1229 阅读 · 0 评论 -
5位运动员参加10米跳台比赛,有人让他们预测比赛结果
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。#include<stdio.h>#include<stdlib.h>int main(){ int a = 1...原创 2018-12-12 23:54:21 · 177 阅读 · 0 评论 -
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。#include<stdio.h>#include<stdlib.h>int main(){ int murder =...原创 2018-12-13 18:58:33 · 372 阅读 · 0 评论 -
猜数字游戏
猜数字游戏#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){ printf("********************\n"); printf("****** 1.PLAY ****\n"); printf("****** 2.EXIT ****\n"); p..原创 2018-12-15 23:24:01 · 153 阅读 · 0 评论 -
设置登录密码,最多三次有效,超过三次退出登录
问题描述:最多能密码输入3次,密码正确,提示“登陆成功”,密码错误,可以重新输入,最多能输入三次。三次输入错误则提示退出程序。问题思路:(1)定义数组存储正确密码(2)将输入数字与正确密码进行比对#include<stdio.h>#include<string.h>#include <windows.h>int main(){ int n, ...原创 2018-12-16 22:12:28 · 2335 阅读 · 0 评论 -
I am a Student转换为Student a am I
“I am a Student"转换为"Student a am I”问题思路:(1)先整体翻转(2)再逐个单词翻转#include<stdio.h>#include<string.h>#include<stdlib.h>#include<assert.h>char *change_math(char *str, int len)...原创 2018-12-10 21:27:57 · 1151 阅读 · 0 评论