c
文章平均质量分 58
lao_wine
一个愿意为网络安全事业奋斗终生的人
展开
-
C练习
1.递归和非递归分别实现求第n个斐波那契数。方法1#include #include #pragma waring (disable:4996)int factorial(int k){if(kreturn 1;elsereturn factorial(k-2)+factorial(k-1);}int main ()原创 2020-08-30 01:15:44 · 139 阅读 · 0 评论 -
宏定义
.写一个宏可以将一个数字的奇数位和偶数位交换。 #define _CRT_SECURE_NO_WARNINGS 0#include#include#define EXCHANGE(input)\ (((input)&(0x55555555)) > 1)int main(){ int input = 0; printf("输入一个数字:"); scanf("%原创 2017-10-27 17:16:29 · 243 阅读 · 0 评论 -
c的多种用法
1.编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 1001100000000000000000000000原创 2017-10-27 17:20:45 · 545 阅读 · 0 评论 -
扫雷
扫雷的c代码文件main.c#define _CRT_SECURE_NO_WARNINGS 0#include#include#include#include#include"game.h"void menu(){ printf("*********************************\n"); printf("*********原创 2017-10-27 17:50:21 · 268 阅读 · 0 评论 -
数组的操作
调整数组使奇数全部都位于偶数前面。 题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。 #define _CRT_SECURE_NO_WARNINGS 0#include#includevoid receser_arr(int arr[], int sz){ int m = sz/ 2原创 2017-10-28 22:13:11 · 293 阅读 · 0 评论 -
c语言的左旋
1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB #define _CRT_SECURE_NO_WARNINGS 0#include<stdio.h>#include<stdlib.h>#include<string.h>void left_str(char arr[], int size, int k){原创 2017-11-06 18:56:39 · 393 阅读 · 0 评论 -
c语言小练
.编写一个函数实现n^k,使用递归实现分析:n的k次=n*n*n*n*……*n(k个n),用递归的思想来讲,就等于n*(n的(k-1)次方)#include #include int fun(int n,int k){ if(k==0) return 1; else if(k==1) return n; else原创 2017-11-06 20:08:42 · 351 阅读 · 0 评论 -
c语言练习
1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现。 #define _CRT_SECURE_NO_WARNINGS 0#include#includeint one(int arr[], int sz){ int m = 0; int n = 0; int k = 0; for (; m { for (k原创 2017-11-07 21:15:16 · 247 阅读 · 0 评论 -
线性表--1
线性表的定义线性表是多个或者零个数据元素的集合线性表中的数据元素之间是有顺序的线性表中的数据元素个数是有限的线性表中的数据元素的的类型必须相同除了第一个和最后一个以外的所元素都有直接的前驱和后继,第一个有只后继,最后一个只有前驱。线性表的是顺序存储结构:线性表的顺序存储结构指的是用一段地址连续的存储单元一次存储线性表的数据元素。一般用一维数组来实现顺序存储结构 存储空间的起始位置:数原创 2018-01-15 22:54:02 · 249 阅读 · 0 评论 -
三子棋
main.c#define _CRT_SECURE_NO_WARNINGS 0#include#include#include#include"game.h"void menu(){ printf("****************************\n"); printf("********0:退出游戏*********\n"); print原创 2017-10-23 12:58:50 · 379 阅读 · 0 评论 -
C语言的操作符
在c语言的学习中c的操作符是最重要的一关,下面是我对操作符的总结:算数操作符: + 加:左右操作数适用于整型和浮点型数。 - 减:左右操作数适用于整型和浮点型数。 * 乘:左右操作数适用于整型和浮点型数。 / 除:左右操作数适用于整型和浮点型数。 % 模运算...原创 2017-10-05 16:31:29 · 637 阅读 · 0 评论 -
c语言操作符总结
在c语言的学习中c的操作符是最重要的一关,下面是我对操作符的总结:算数操作符: + 加:左右操作数适用于整型和浮点型数。 - 减:左右操作数适用于整型和浮点型数。 * 乘:左右操作数适用于整型和浮点型数。 / 除:左右操作数适用于整型和浮点型数。原创 2017-10-07 23:27:46 · 298 阅读 · 0 评论 -
阶乘的递归与迭代
编写一个函数实现n^k,使用递归实现 递归#define _CRT_SECURE_NO_WARNINGS 0#include<stdio.h>#include<stdlib.h>int jieci(int n){ if (n == 1) return 1; return n *= jieci(n - 1);}int main(){ int i原创 2017-11-06 20:00:32 · 359 阅读 · 0 评论 -
可变参数列表的解析
可变参数列表的解析C语言中的可变参数是一个比较有意思的实现,通过将函数实现为可变参数的形式,可以使得函数的接受一个以上的任意多个参数#include<stdio.h>#include<stdarg.h>int average(int n,...){ va_list arg; int i=0; int sum=0; va_start(arg,n); for(原创 2017-11-10 11:35:59 · 289 阅读 · 0 评论 -
指针进阶
指针数组指针数组是数组,是一个存放指针的数组int * ptr_array[10]char *arr2[4]指针数组是数组元素为指针的数组,本质上是数组 - *p[2]是数组指针,实质是数组,里面两个元素都是指针,[]的优先级比*的优先级高,p先与[]结合形成数组p[2] 再与*结合,表示此数组是指针类型的,每个数组元素的相当于一个指针变量。 - 相比较二维数组,指针数组有明显的 优势的优点:原创 2017-11-16 22:23:57 · 334 阅读 · 0 评论 -
回调函数模拟qsort
#define _CRT_SECURE_NO_WARNINGS 0#include<stdio.h>#include<stdlib.h>int int_cmp(const void *p1, const void *p2){ return (*(int *)p1 > *(int *)p2);}void _swap(void *p1, void *p2, int size){原创 2017-11-24 17:01:58 · 251 阅读 · 0 评论 -
字符串的模拟
1.模拟实现strncpy 将一个字符串的n和字符复制到字符数组.#define _CRT_SECURE_NO_WARNINGS 0#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h>char My_strncpy(char arr[], char brr[], int length){原创 2017-11-24 16:59:06 · 397 阅读 · 0 评论 -
可变参数的使用
可变参数的作业#define _CRT_SECURE_NO_WARNINGS 0#include<stdio.h>#include<stdlib.h>#include<string.h>void bubble_str(char *str[], int sz){ int i = 0; int j = 0; for(i = 0;i<sz - 1;i++) {原创 2017-11-19 12:07:08 · 197 阅读 · 0 评论 -
字符串功能的模拟实现
作业1.实现strcpy 2.实现strcat 3.实现strstr 4.实现strchr 5.实现strcmp 6.实现memcpy 7.实现memmove1.//模拟strcpy#include <stdio.h>#include <windows.h>#include <assert.h>char *my_strcpy(char *dest,const char *src)原创 2017-11-19 12:05:34 · 297 阅读 · 0 评论 -
1/1-1/2+1/3-1/4···+1/99-1/100的值
#include #include int main(){double sum=0;int n,m=1;for(n=1;nsum+=m*(1.0/n);m=-m;}printf("sum=%lf\n",sum);return 0;}注: 在写程序时注意sum 的类型,一定不能int。原创 2017-09-19 22:31:09 · 632 阅读 · 0 评论 -
不引入变量交换两个变量的数值的核心代码
因为计算机储存都是而计算!故可以进行按位异或加密解密的方式进行交换核心代码为:a=a^b;b=a^b;a=a^b;希望分享过程中 可以让更多人得到帮助原创 2017-09-19 22:40:58 · 413 阅读 · 0 评论 -
斐波那契数c语言程序
1.递归和非递归分别实现求第n个斐波那契数。 方法1#include <stdio.h>#include <windows.h>#pragma waring (disable:4996)int factorial(int k){ if(k<=1) return 1; else return factorial(k-2)+factorial(k-1);}原创 2017-11-06 19:25:22 · 1690 阅读 · 0 评论