![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
enemyfloggers
real
展开
-
不使用四则运算符计算A+B的值
题目:1. 标题:另类加法 | 时间限制:3秒 | 内存限制:32768K | 语言限制:[Python, C++, C#, Java] 请编写一个函数,将两个数字相加。不得使用+或其他算数运算符。给定两个int A和B。请返回A+B的值测试样例:1,2返回:3解题思路:点击这里代码展示:class Solution { public: int sum = 0; ...原创 2019-11-19 10:02:01 · 303 阅读 · 0 评论 -
一个数N步变为斐波那契数(以及优化)
题目:Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, ...,在Fibonacci数列中的数我们称为Fibonacci数。给你一 个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。输入描述:输入为一个正整数N(1 ≤ N ≤ 1,000,000)输出描述:输...原创 2019-11-19 09:13:44 · 540 阅读 · 0 评论 -
进制转换(十进制转换成任意进制)
题目:输入一个十进制整数m,转换成任意进制n(二--十六进制)题目分析(方法):m除n取余余数小于10,加48 48是0的ASCII码值 比如9+48 则变为9的ASCII码值余数大于等于10,加55 65是字符A的ASCII码值代码展示:#include <iostream>using namespace std;void conversi...原创 2019-11-09 11:54:39 · 542 阅读 · 0 评论 -
牛牛举办的组队编程比赛
题目:牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2...原创 2019-11-07 17:43:29 · 849 阅读 · 0 评论 -
将一句话的单词进行倒置,标点不倒置(牛客网·互联网名企笔试/面试题库)
题目描述:将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割NOWCODER.COM牛客网·互联网名企笔试/面试题库牛客出品-http://www.nowcoder...原创 2019-11-07 17:22:57 · 2121 阅读 · 0 评论 -
【C语言】选择排序
算法原理(假设这些数字在排队)1.首先从这个队伍中找出值最大(小)的数字放在队首 此时想象把队伍分成两组 一组有序 即刚刚找出的那个数字一组无序即除了队首的那个数字2.然后开始从无序的那组队伍开始寻找最大(小)的数字一旦找到就放到刚刚有序队伍的队尾以此类推直至所有数字都排序完毕整体思路我们可以看出选择排序的整体思路就是 从无序队列中找出最大(小)的数字...原创 2019-08-27 16:12:30 · 868 阅读 · 0 评论 -
链表的一些基本算法(遍历 增删查改等)
1.链表的定义typedef int SLTDataType; typedef struct SListNode { SLTDataType _data; struct SListNode* _next; }SListNode;typedef struct SList { SListNode* _head; }SList;2.链表的遍历// 链表遍历...原创 2019-08-20 15:44:40 · 188 阅读 · 0 评论 -
模拟实现strcpy,strcat,strstr,strchr,strcmp,memcpy,memmove
一、模拟strcpy//模拟strcpy#include<stdio.h>#include<stdlib.h>#include <assert.h>char *my_strcpy(char *dest, const char *src) { assert(dest != NULL); assert(src != NULL); char *re...原创 2019-06-04 10:43:55 · 119 阅读 · 0 评论 -
模拟实现库函数strncpy,strncat,strncmp
一、模拟实现strncpy#include<stdio.h>#include<stdlib.h>#include <assert.h>char *my_strncpy(char *dest, const char *src, int n) { assert(dest != NULL); assert(src != NULL); char *r...原创 2019-05-27 12:45:27 · 218 阅读 · 0 评论 -
模仿qsort功能实现一个冒泡排序
目录1.简单介绍qsort2.模仿qsort实现冒泡排序qsort函数原型void qsort (void* base, size_t num, size_t size,int (*compar)(const void*,const void*));一些解释:1.base:指向要排序数组的第一个对象 类型为void*2.num:b...原创 2019-05-22 11:42:41 · 207 阅读 · 0 评论 -
对数组指针的理解
一、一维数组1.先定义一个一维数组int a[4]={1,2,3,4};(1)一维数组名a是个地址,地址类型为:int *(2)一维数组名取地址&a是个地址,地址类型同:int (*p)[4],也即&a指向含4个int元素的一维数组 此时&a类型即为一个数组指针2.数组名是数组首元素的首地址 a的值和&a[0]的值相同 但...原创 2019-05-21 09:53:07 · 216 阅读 · 0 评论 -
有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student". (不使用库函数)
编写两个函数一个函数reverse_string 传入字符数组以及字符数组的首尾下标一个函数reverse_word 将单词逆序#include<stdio.h>#include<stdlib.h>void reverse_string(char str[],int m,int n) { char tmp; for (;m < n;m++,n-...原创 2019-04-19 22:57:16 · 96 阅读 · 0 评论 -
整型数组中只有一个数字出现了一次,其他数字成对出现,找出这个数字(位运算)
异或运算: 任何一个数字异或它本身都等于0如果从头到尾异或数组中的每一个数字,那些出现两次的数字全部在异或中会被抵消,最终的结果刚好是这个只出现一次的数字#include<stdio.h>#include<stdlib.h>int FindOnce(int arr[],int len) { int m = arr[0]; for (...原创 2019-04-19 21:13:27 · 805 阅读 · 0 评论 -
【C语言】冒泡排序(BubbleSort)
一些简单介绍(360百科)冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。算法原理冒泡排序算法的运作如下:(从后往前...原创 2019-04-19 20:24:29 · 804 阅读 · 0 评论 -
【C语言】交换两个变量的值(函数)
方法一:创建临时变量 tmp#include<stdio.h>#include<stdlib.h>void swap(int *a,int *b) { int tmp = *a; *a = *b; *b = tmp;}int main(){ int a = 10; int b = 20; printf("a = %d\nb = %d\n", a...原创 2019-04-09 17:19:13 · 16918 阅读 · 5 评论 -
C语言实现简单的三子棋游戏
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#define MAX_ROW 3#define MAX_COL 3char chess_borad[MAX_ROW][MAX_COL];int screen(){ printf("********************...原创 2019-04-05 12:25:39 · 254 阅读 · 0 评论 -
猜数字小游戏 (C语言)以及二分查找
什么是二分法二分法所属现代词,指的是数学领域的概念,经常用于计算机中的查找过程中。把函数f(x)的零点所在的区间[a,b](满足f(a)●f(b)<0)“一分为二”,得到[a,m]和[m,b]。根据“f(a)●f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b]。所对得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b...原创 2019-03-29 11:18:58 · 1016 阅读 · 0 评论 -
求两个正整数的最大公约数(三种方法)
方法一:辗转相除法又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。#define _CRT_SECURE_NO_WARNINGS...原创 2019-03-22 21:01:43 · 40594 阅读 · 3 评论