
初级
Zhengxinyu666
活活活活出自己
展开
-
构造一个Car类,包含无参和有参两种构造方法
public class Car{String type; //属性一 种类String color; //属性二 颜色String id; //属性三 车牌号int maxspeed; //属性四 最高时速public Car(){} //构造方法1 无参数的构造方法//构造方法1 有参数的构造方法public Car(String type,Str...原创 2019-01-24 14:35:24 · 2345 阅读 · 0 评论 -
模拟实现strcat函数
算法分析strcat函数功能:将两个字符串连接起来,最终返回连接后字符串的首地址.strcat函数原型:char *strcat(char *dest,const char *src);我们清楚地了解了strcat函数功能和原型之后,就很容易分析出算法...算法总结第一步:将dest指向的内容循环遍历至'\0'的部分.第二步:将src指向的内容循环拷贝给dest,包括src后面的'\0'.核心代码...原创 2018-06-13 09:33:39 · 430 阅读 · 0 评论 -
模拟实现strcpy
strcpy的作用是将一个字符串的内容复制到另外一个字符数组中,包括字符串的终结符#include <stdio.h>#include<assert.h>#include<Windows.h>char * my_strcpy(char *dest, const char *src){ assert(dest != NULL); assert(src ...原创 2018-06-13 09:28:02 · 260 阅读 · 0 评论 -
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
方法一:#include <stdio.h>int bottle_num(int yuan)//喝汽水{ if (yuan)//零元返回零瓶 { while (1 != yuan) { if (yuan & 1)//如果是奇数瓶 { return yuan - 1 ...原创 2018-06-11 17:41:16 · 961 阅读 · 0 评论 -
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。
本题思路:1.将0与数组每个元素依次亦或的结果就是两个只出现一次的元素亦或的值,相同元素的二进制位是相同的,亦或的值为02.将数组分为两组,每一组包含一个只出现一次的数,分组的思路是:两个唯一的数是不相同的,那么在他们的二进制序列中必然有一位是不相同的,找出这一位,以这一位为标志,将其余数进行分组。3.将两个数组分别与0进行亦或,最终得到两个只出现一次的数。程序如下:#include <st...原创 2018-06-11 17:32:54 · 290 阅读 · 0 评论 -
诶~ 看我一手操作 用递归方式打印一个整数的每一位
递归方式实现打印一个整数的每一位#include <stdio.h>void print_num(int n){ if (n != 0) { if (n<0) { n = -n; } printf(" %d \n", n % 10); print_num(n / 10); }}int main(){ int n; printf("...原创 2018-06-11 17:24:47 · 267 阅读 · 0 评论 -
诶~真的骚 我学会了用递归和非递归分别实现求n的阶乘 你呢
递归和非递归求n的阶乘#include <stdio.h>int sum1(n)//循环法求阶乘{ int sum = 1; int i = 1; for (i = 1; i <= n; i++) { sum = sum * i; } return sum;}int sum2(n)//递归方法求阶乘{ int sum = 0; if (n == ...原创 2018-06-11 17:23:47 · 556 阅读 · 2 评论 -
史上最全!!!计数、递归和非递归三种方法分别实现strlen
计数、递归和非递归三种方法分别实现strlen 首先明白strlen的功能这是一个求字符串长度的函数只能用char*做参数(字符型指针),且必须是以'\0'结尾的#include<stdio.h>int my_strlen0(const char *arr)//计数方式{ int count = 0; while (*arr) { arr++; count...原创 2018-06-11 17:15:54 · 333 阅读 · 0 评论 -
编写一个函数reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。
//编写一个函数reverse_string(char * string)(递归实现)//实现:将参数字符串中的字符反向排列。//要求:不能使用C函数库中的字符串操作函数。#include <stdio.h>#include <assert.h>void reverse_string(char const * string){ assert( string != NU...原创 2018-06-11 17:10:46 · 711 阅读 · 0 评论 -
使用宏实现两个数中求较大值
原创 2018-05-22 00:45:10 · 313 阅读 · 0 评论 -
宏函数实现一个数字二进制的奇数位和偶数位交换
宏函数在c语言编程中有不可忽视的作用,并且数字二进制的奇偶位交换也比较常见,所以用宏函数来实现数字二进制的奇数位和偶数位交换不失为一个很好的方法。首先我们要清楚宏函数的用法,其次要有用宏函数实现该功能的整体思路,下面我带着大家分析一下:例:将数字5(0101)交换二进制奇偶位为(1010)即数字10。就是将数字的二进制的第0位和第1位交换,第2位和第3位交换,后面以此类推。首先我们需要将奇数位和偶...原创 2018-05-22 00:43:29 · 380 阅读 · 0 评论 -
有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student". 要求: 不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。
#include <stdio.h>#include <assert.h> void reverse_str(char *left, char *right){ assert(left); assert(right); while (left < right) { char tmp = 0; tmp = *left; *left = *r...原创 2018-05-22 00:40:12 · 146 阅读 · 0 评论 -
编程实现:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)
原创 2018-05-22 00:36:10 · 306 阅读 · 0 评论 -
不使用(a+b)/2这种方式,求两个数的平均值。
原创 2018-05-22 00:31:55 · 184 阅读 · 0 评论 -
1.编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回 值value的二进制位模式从左到右翻转后的值。
如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 10011000000000000000000000000000 程序结果返回: 2550136832 #include<stdio.h>unsigned int reverse_bit(unsigned int value)...原创 2018-05-22 00:27:18 · 285 阅读 · 0 评论 -
字符串左旋右旋问题
题目:实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef 左旋转2 位得到字符串cdefab。要求时间对长度为n 的字符串操作的复杂度为O(n),辅助内存为O(1)。分析:如果不考虑时间和空间复杂度的限制,最简单的方法莫过于把这道题看成是把字符串分成...原创 2018-06-06 10:17:07 · 399 阅读 · 0 评论 -
判断一个字符串是否为另外一个字符串旋转之后的字符串
判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0方法一:算法思想:一个字符串左旋,无非还是这个字符串本身(长度未改变),并且字符本身未改变只是顺序改变;申请一个原来字符串数组空间的2倍加1(算上\0),如果另一个比较对象如果是这个字符串的子串(其中用到strstr函数),说明 二者互...原创 2018-06-06 10:21:13 · 285 阅读 · 0 评论 -
诶~来写一个递归函数 输入一个非负整数 返回组成它的数字之和
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19理性分析一波非负整数 返回组成它的数字之和冷静思考反复思考上个厕所吃个香蕉喝杯咖啡玩会儿手机诶~真的骚抓过键盘就是敲#include <stdio.h>#include <math.h>i...原创 2018-10-09 22:54:08 · 755 阅读 · 1 评论 -
giao一个函数 让它能算出来输入数字的二进制的1的个数
aha~我又来了今天我们来搞一个简简单单的小函数返回二进制中1的个数首先我们想的简单一点假设这个数字是一个正整数比如: 15 0000 1111 4 个 1int count_one_bits(unsigned int n){//返回1的个数}方法一:可以用模2除2的方法int count_one_bits(unsigned ...原创 2018-10-18 17:00:16 · 270 阅读 · 0 评论 -
用c语言写一个三子棋游戏
今天我们来用c语言写一个三子棋游戏啊哈~诶~真的骚这么快就要我写游戏了好紧张好激动平复一下心情准备开始写这个“井字棋”游戏首先呢 我们需要创建一个test测试文件 还需要一个game游戏实现文件 以及一个game.h的头文件 里面包含了我们实现功能所需要的函数等等那么我们就从这个test测试文件开始吧从主开始写 慢慢的往细致的地方延伸int ma...原创 2018-10-18 15:23:35 · 353 阅读 · 0 评论 -
C语言运算符
C 运算符运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符:算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符以下将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。算术运算符下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20...原创 2018-10-06 15:46:41 · 616 阅读 · 1 评论 -
ASCALL码表
ASCALL码是目前计算机中用得最广泛的字符集及编码是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。 因为1位二进制数可以表示(2...原创 2018-10-06 15:31:30 · 16909 阅读 · 0 评论 -
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和
//写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和.//例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19原创 2018-06-11 10:25:19 · 299 阅读 · 0 评论 -
来来来 我们来编写一个函数来实现n^k,使用递归实现
编写一个函数实现n^k,使用递归实现首先 我们来 理性的(夏基霸)分析一波n的k次方那不就是n*n*n*n*n*n*....*n(共k个)有同学会问那么这个时候我们该怎么做?问得好我也不知道我们试验一下 猜想 各种骚操作从脑中划过变个型 变成n*n^k-1 怎么样我也不知道为什么要变成这个样子反正感觉好像离求解正确不远了附加一个递归使用的三要素(1)条件限制用if...原创 2018-06-11 10:18:53 · 484 阅读 · 0 评论 -
giao哥教你学!!!加吐血分析!!递归和非递归分别实现求第n个斐波那契数
一、用归和非递归分别实现求第n个斐波那契数首先明白何为斐波那契数F0=0,F1=1,Fn=Fn-1+Fn-2 (n>=2,n∈N*)用文字来说,就是斐波那契数列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。1,1,2,3,5,8,13,21,34,55,89,144……1、递归方法#include <stdio.h>int Fib(int n)...原创 2018-06-11 10:13:08 · 372 阅读 · 0 评论 -
杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
原创 2018-05-30 15:49:28 · 280 阅读 · 0 评论 -
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
1、基本实现: 如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有的数字往前面挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位。由于没碰到一个偶数就需要移动O(n)个数字,因此总的时间复杂度是O(n2).2、只完成基本功能的解法题目要求把奇数放在数组的前半部分,偶数放在数组的后半部分,因此所有的奇数应该位于偶数的前...原创 2018-05-30 15:10:26 · 3574 阅读 · 0 评论 -
冒泡排序可以排序多个字符串
在实现多个字符串的排序之前,先来回顾一下冒泡排序: 算法原理: 每次对相邻的两个元素进行比较,若前者大于后者则交换,如此一趟下来最后一个则是最大的一个元素;重复以上步骤,除了已经确定位置的元素。 算法实现:void swap(int *a, int *b){ int temp = 0; temp = *a; *a = *b; *b = temp;}void bubble_s...原创 2018-06-13 10:30:08 · 461 阅读 · 0 评论 -
.使用main函数的参数,实现一个整数计算器
因为涉及main函数参数,所以在linux 下面比较容易实现int main(int argc, char *argv[], char *env[])main的三个参数 :int argc,表示命令行参数加上程序路径的个数,最小为一char * argv[],表示main函数的命令行参数char * env[],表示环境变量首先要判断mian()函数的参数个数,如果小于4即,参数个数错误,代码如下...原创 2018-06-13 10:26:38 · 503 阅读 · 0 评论 -
模拟实现printf函数,可完成下面的功能
Print formatted output to the standard output stream.格式化输出打印到标准输出流来自msdn函数原型:[html] view plain copyint printf( const char *format [, argument]... ); 返回值:[cpp] view plain copyEach of these functions r...原创 2018-06-06 10:43:04 · 277 阅读 · 0 评论 -
使用可变参数,实现函数,求函数参数的平均值
利用可变参数列表:可变参数列表是通过宏来实现的,这些宏定义在stdarg.h中。值得注意的是:可变参数列表传参时,第一个传的参数的个数。步骤:1.定义一个va_list类型的变量 arg2.宏va_start(arg,num)---这个宏有两个参数,第一个参数为va_list类型的变量,第二个参数为可变参数列表之前的参数。作用就是使得 va_list 的变量指向可变参数列表的首地址。这才是一般意义...原创 2018-06-06 10:48:29 · 767 阅读 · 0 评论 -
C语言中的可变参数
首先了解一下什么是可变参数C语言中的可变参数1、C语言中的可变参数列表:C语言中有时候会遇到一些参数个数是可变的函数,像scanf,printf等,这些函数内部的参数列表都是可变的。通过将函数实现为可变参数的形式,使得函数可以接受1个以上的任意多个参数。(不固定)如函数原型:scanf(const char * format,…);解释:除了format以外,后面跟着的参数 个数,类型是可变的,用...原创 2018-06-06 10:31:27 · 809 阅读 · 0 评论 -
数组的相关知识
1.一维数组的定义:数组是指可以在内存中连续存储多个元素的结构,与变量不同的是变量是存取一个变量的容器;并且需要注意的是数组中所有的元素是具有相同的结构类型。数组的定义与变量相同。 2.一维数组的类别:可以是所有的基本类型,比如:int、char、float、long、unsigned、double等。3.一维数组的一般形式:数组名【下标】,下标的取值范围是从0到数组元素个数(数组长度)减1例如:...原创 2018-05-22 00:09:25 · 194 阅读 · 0 评论 -
史上最全计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 值的方法!!!
今日闲来无事算一道数学题吧算一下这道初中的数学题1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100瞄一眼感觉这道题大概有三种算法哈哈哈哈不要问我怎么知道的先来个分解法把加的合到一起算 减的合到一起算奇数偶数分开计算到最后一减就ok了#include <stdio.h>//拆分法int main(){in...原创 2018-04-24 11:15:25 · 5634 阅读 · 4 评论 -
乾坤大挪移——数组交换 一点也不屌的方法
提起这个乾坤大挪移这个江湖上可谓是无人不知无人不晓作为全王者荣耀里最可爱最厉害的男孩子诶~真的骚我简直太不要脸了我今天想来学习一手数组的交换不多bb准备开始了#include <stdio.h>int main(){ int arr1[]={1,2,3,4,5}; int arr2[]={6,7,8,9,10}; int arr3[]={...原创 2018-04-24 11:01:11 · 335 阅读 · 0 评论 -
男默女泪!用C语言实现求两数的最大公约数方法 知道真相的我眼泪掉下来
啦啦啦又来写bug了今日闲来无事写写bug吧求两个数的最大公约数这样的问题 对于知识渊博的giao giao来说洒洒水啦先来个传说中的辗转相除法话说公元前300年前一个叫欧几里得的人吃了一颗冬枣灵光一现写出了这个算法目的是求出两个正整数的最大公约数。它是已知的最古老的算法啧啧啧 古色古香的算法啊这条算法基于一个定理:两个正整数...原创 2018-04-22 18:40:17 · 369 阅读 · 0 评论 -
想用C语言实现将三个数从大到小输出?来看这里就对了
作为一个giaogiao的人三个数比大小这种事很随意啊看我操作先来个简单地方法用if语句进行交换两值的内容来进行大小排序诶~真的骚 冒个泡吧冒泡排序方法so easy ...原创 2018-04-22 17:01:21 · 417 阅读 · 0 评论 -
giaogiao教你用C语言求十个整数中的最大值
hhh又来写bug了不小心写了一个中文的逗号出来了个让我头皮发麻的c2143本来今天睾睾兴兴都被这个该死的逗号秀了一脸诶~真的骚说到这个求十个整数的最大值很简单嘛一giao我嘞giaogiao我们只需要将10个数字一一比较,并将比较出的较大的数字存入临时变量并输出这个临时变量即可。先说一种最好想的方法我们先设出一个数组arr[10],用来储存十个...原创 2018-04-22 16:51:34 · 754 阅读 · 0 评论 -
宏
1.宏和函数的区别 宏参数只是做简单的字符串替换,而函数是有参数类型的。 宏在编译之前进行,即先用宏体替换宏名,然后再编译的,而函数显然是编译之后,在执行时才调用的。因此,宏占用的是编译的时间,而函数占用的是执行时的时间。 如果是较为短小的宏,在程序中的实现会比函数容易,但如果是较为长的宏,每次调用宏时都要将宏原份做字符串替换,所以会显得重复,这是就显得函数较为好用了,因为函数是...原创 2018-04-09 17:09:28 · 161 阅读 · 0 评论 -
在linux环境实践,使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。并熟悉相关指令。
初用Linux,安装了cent os 6.5惊奇这世界上竟然有如此装X的系统 把终端的背景调成黑色字体调成绿色,感觉自己就是这个世界上最牛逼的人先来说一下终端里最最最简单的命令ls(英文全名list)列出当前文件夹的所有文件)cd(英文全名change directory )更改(切换)目录 mkdir(英文全名make directory )创建目录(文件夹)rm(英文全名remove) 删除文...原创 2018-04-09 16:26:58 · 497 阅读 · 0 评论