![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
题库
算法题库Leetcode等平台题库及自我理解题解
友人和他的朋友们
公众号:友人和他的朋友们 Java 全栈文档库 www.codermast.com 编程桅杆的作者
展开
-
C/C++/Java经典面试题 之 水仙花数
什么是水仙花数?“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本 身,如;153=1+5+3?,则153是一个“水仙花数“。题目内容求出0~999之间的所有“水仙花数”并输出。代码如下C/C++#include <stdio.h>//水仙花数//计算一个数a的b次方int power(int a, int b){ int sum = 1; for (int i = 0; i<b; i++) { sum *= a; } return原创 2021-01-01 17:33:41 · 191 阅读 · 1 评论 -
Java新手实战项目-猜数字小游戏,详解加源代码
import java.util.Random;import java.util.Scanner;public class GuessNumber { static Scanner scanf = new Scanner(System.in); static Random random = new Random(); //主体函数 public static void main(String[] args) { int a;原创 2020-12-27 18:06:55 · 820 阅读 · 0 评论 -
c语言使用循环如何打印出来一个菱形?了解他的循环逻辑,其实很简单
打印菱形打印一个菱形其实有很多办法,不过最具有代表性的就是下面说的这两种直接printf() 暴力打印这种可能是c语言初学者最常用的办法,几乎可以针对任何打印图形的问题,但是这种方式效率不高,而且做起来也很累,我们通常在无法找出规律,或者规律很复杂的时候才使用他,几乎只要会使用printf()就会进行操作了,这里就不再多讲了通过寻找规律,使用循环打印这种我们需要找到规律,通过控制循环的条件来进行打印。代码#include<stdio.h>//打印一个菱形int原创 2020-12-21 22:08:23 · 2101 阅读 · 0 评论 -
C语言经典面试题 - 字母的大小写转化
字母的大小写转化题目描述KiKi想完成字母大小写转换,有一个字符,判断它是否为大写字母,如果是,将它转换成小写字母;反之则转换为大写字母。输入描述 :多组输入,每一行输入一个字母。输出描述 :针对每组输入,输出单独占一行,输出字母的对应形式。题目来自于牛客网 链接例题地址解题思路在我刚拿到这个题的时候,我可以说是一脸懵逼,完全不知道从哪里下手,因为自己也是个出初学者,对于各种的头文件和内置函数都不是很清楚,就想着已经不知道,倒不如自己把这个功能实现了。于是就有了下面的思考。我原创 2020-12-21 21:59:47 · 842 阅读 · 0 评论 -
C语言经典题目:求0-10000之间的水仙花数,并将这个数输出,打印
什么是水仙花数“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。题目要求求出0~100000之间的所有“水仙花数”并输出。解题思路对于c语言的初学者而言,我们要懂得如何去使用库函数提高我们的效率,但是我还是建议,将这些功能都自己实现一遍,就能更深层次的理解他的逻辑,增加更多印象。提高自己的写代码水平。废话不多讲,来看思路。分析题目题目讲的是一个n位数,其各位数的n次方之和等于这个数,我们就得先原创 2020-12-16 23:05:05 · 3500 阅读 · 2 评论 -
C语言经典的位运算:求两个数二进制中不同位的个数,入门必做经典题
题目要求编程实现:求两个数二进制中不同位的个数,两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子:1999 2299输出例子:7解题思路通过审题我们得知,要求两个数二进制中不同位的个数,那么就得先了解如何操作这两个数的二进制数,我们可以通过位运算或者移位操作来对数得二进制进行操作,此处需要求解的是不同位的个数,即需要判断不同位,我们采用^位异或的操作。1 ^ 1 = 0; 1 ^ 0 = 1; 0 ^ 1 = 1; 0 ^ 0 = 0;只有对应位的数相异原创 2020-12-14 19:43:12 · 1025 阅读 · 2 评论 -
c语言的简单的分数求和
每日一题题目要求:计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值,打印出结果代码#include <stdio.h>int main(){ float num = 0; float sum = 0; for (float i = 1; i < 100; i+=2) { num = (1 / i) - 1 / (i + 1); sum += num; } printf("%f\原创 2020-12-01 20:07:50 · 12050 阅读 · 6 评论 -
c语言中将分钟的时间转换为小时和分钟并存的形式
简单的每日一题题目要求:编制程序,将引导用户输入分钟制的时间,并将其转换为小时和分钟并存的形式,返回给用户话不多说,上代码:#include <stdio.h>//题目:将输入的分钟数转换为用小时和分钟表示int main(){ //存放输入的时间分钟数 int time; //存放换算后的时间的小时部分 int timeh; //存放换算后的时间的分钟部分 int timem; //引导用户输入时间 printf("请输入分钟数:"); //获取用户输入的时间原创 2020-11-30 17:38:14 · 21083 阅读 · 4 评论 -
使用c语言打印九九乘法表
介绍主要的思路就是,两个变量,就大概应该是简单的两层for循环,在每行输出以后,打印个换行符就行,话不多说,上代码。代码#include <stdio.h>//打印九九乘法表int main(){ for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { printf("%d * %d = %d ", j, i, i * j); } printf("\n"); } retu原创 2020-11-29 21:14:58 · 5898 阅读 · 0 评论 -
C语言超经典的位操作实战题:打印整数二进制的奇数位和偶数位,入门必做题,带解析
题目要求作业标题打印整数二进制的奇数位和偶数位作业内容获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列解题思路要打印一个数的二进制数,首先得知道如何去操作一个数的二进制数,然后,一个数的二进制数其只能由0,1组成,那么就只需要判断其对应位置上的数为几,打印即可,一般情况下都是和1位与操作&,此时就能判断出来他的最后一位为几,然后通过>> << 等移位操作符,将数的二进制序列进行移动,就能达到想要的目的。#include <原创 2020-12-14 19:24:45 · 279 阅读 · 0 评论 -
著名的斐波那契数列通过C语言实现的两种方法
定义斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起原创 2020-12-11 23:48:59 · 2947 阅读 · 0 评论 -
C语言 - 交换两个数组的值(数组的大小相等)
交换两个大小相等的值题目要求:将数组A中的内容和数组B中的内容进行交换。(数组一样大)解题思路:分析题目中说到的数组一样大,那么也就是说数组中元素的个数和类型相等,那么要达到交换这两个数组,仅需将其每一位对应的元素进行交换即可,这样也就达到了交换数组的效果。第一步:先构造一个能将两个数交换的函数,达到能将数组对应的元素交换的效果,那么如何才能将这两个数进行交换呢,相信学到这里,你也应该会很多种交换数的方法,在这里想提醒一下,如果想要改变实参,那么形参应当给的是参数的指针,而不是给参数的值。原创 2020-12-10 22:29:08 · 5631 阅读 · 0 评论 -
C语言 - 位运算经典的面试题 360经典面试题 编程之美
一个经典的面试题在不创建第三个变量的情况下,将两个数的值进行交换#include <stdio.h>int main(){ int a; int b; printf("请输入你要交换的两个数:"); scanf("%d %d", &a, &b); a = a^b; //此时a为101^011 = 110 ->6 b = a^b; //此时b为101^011^011 = 101 ->5 a = a^b; //此时a为101^011^101 =原创 2020-12-09 21:42:59 · 251 阅读 · 0 评论 -
C语言的简单算法 -冒泡排序
冒泡排序算法原理算法的稳定性算法实战效果图算法原理比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。算法的稳定性冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有原创 2020-12-09 21:29:10 · 355 阅读 · 0 评论