C
IT_Painter
此人不懒,但还是什么都没有写
展开
-
C语言——实现strlen 实现strcmp 实现strcpy 实现strcat 实现strchr() 实现strstr()
实现strlen实现strcmp实现strcpy实现strcat实现strchr实现strstr实现strlenint strlen(char* str1){ if (*str1 == NULL) { printf("输入字符串有误\n"); return NULL; } int i = 0; while (str1[i++] != '\0') { ;...原创 2019-11-30 01:44:58 · 289 阅读 · 0 评论 -
1. 一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。2. 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以买多少汽水。
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现思路:先排序,因为其他数都是成对出现的,所以当某个数的前面和后面都和这个数不相等时,这个数就是单独出现的#include<stdio.h>/*> 1. 一个数组中只有两个数字是出现一次, > 其他所有数字都出现了两次。 > 找出这两个数字,编程实现。 ...原创 2019-11-29 13:06:00 · 121 阅读 · 0 评论 -
C语言——数组和指针
C语言之我个人所知:1.首先C语言是一个面向过程的编程语言是各位爷都知道的。**那我们就要思考了,数组是啥吧(#`O′)?**那好我们来看一下简单的c语言程序是怎样编写数组的:#include<stdio.h>//头文件包含int main() { //首先定义一个数组 int name[] = { 1,2,3,4,5 }; for (int i = 0; i ...原创 2019-11-20 17:18:39 · 6072 阅读 · 11 评论 -
C语言——给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。(蓝桥杯)
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式 第一行包含一个数n,表示序列长度。 第二行包含n个正整数,表示给定的序列。 第三个包含一个正整数m,表示询问个数。 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。...原创 2019-11-18 21:09:35 · 2692 阅读 · 2 评论 -
数据结构——线性表顺序存储
笔直向前,这即为我的忍道线性表顺序存储线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表的各个元素,使得线性表中在逻辑结构上相邻的数据元素存储在连续的物理存储单元中。即: Loc(a i) = Loc(a i)+(i-1)*k其中 Loc(a 1)称为基地址。#include <stdio.h>#include <stdlib.h>#def...原创 2019-11-15 23:56:30 · 1184 阅读 · 0 评论 -
C语言——字符串数组——16进制转8进制(蓝桥杯 给定n个十六进制正整数,输出它们对应的八进制数。)
16进制转8进制问题描述给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。样例输入 2 39 123ABC样例输出...原创 2019-11-13 21:53:49 · 4586 阅读 · 3 评论 -
C语言——动态矩阵相乘
矩阵相乘输入一个m,r和k值,实现动态矩阵矩阵arr1[m][r]和矩阵arr2[r][k]相乘,得到矩阵3arr3[m][k]#include <stdio.h> #pragma warning(disable:4996)int main() { int m = 0, r = 0, k = 0; printf("输入m,r,k值:》"); scanf("%d%d%...原创 2019-11-13 00:15:46 · 463 阅读 · 0 评论 -
判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 =AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0。
判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 =AABCD和s2 = BCDAA,返回1, 给定s1=abcd和s2=ACBD,返回0。如果觉得本代码难理解,建议先看这个题实现一个函数,可以左旋字符串中的k个字符。#include<...原创 2019-11-10 11:14:42 · 170 阅读 · 0 评论 -
> 1. 实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDA ,ABCD左旋两个字符得到CDAB
实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB方法1:#include<stdio.h>/*> 1. 实现一个函数,可以左旋字符串中的k个字符。> ABCD左旋一个字符得到BCDA> ABCD左旋两个字符得到CDAB */void left(char* a,int valu...原创 2019-11-10 02:25:50 · 229 阅读 · 0 评论 -
杨氏矩阵 > 有一个二维数组. > 数组的每行从左到右是递增的,每列从上到下是递增的. > 在这样的数组中查找一个数字是否存在。 > 时间复杂度小于O(N) >
杨氏矩阵有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N)数组: 1 2 3 2 3 4 3 4 5 1 3 4 2 4 5 4 5 6 1 2 3 4 5 6 7 8 9 #include<stdio.h>/*杨氏矩阵 > 有一个二维数组. &g...原创 2019-11-10 02:20:36 · 177 阅读 · 0 评论 -
调整数组使奇数全部都位于偶数前面。题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
调整数组使奇数全部都位于偶数前面。题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。#include<stdio.h>/*> 1. 调整数组使奇数全部都位于偶数前面。 >> 题目: &...原创 2019-11-10 02:16:58 · 537 阅读 · 0 评论 -
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个.以下为4个嫌疑犯的供词.A说:不是我;B说:是C;C说:是D;D说;C在胡说.已知3个人说了真话,1个人说的是假话.现在请根据这
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。#include<stdio.h>int main(){ int murder; for (murder = 'A'; murde...原创 2019-11-10 02:11:42 · 239 阅读 · 0 评论 -
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果,A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;每位选手都说
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。方法1:利用真假来判断,0为假,1为真#include<stdio.h>int main(){ int A = 0...原创 2019-11-10 02:06:16 · 2119 阅读 · 1 评论 -
操作符详解
操作符详解操作符和表达式各种操作符的介绍。表达式求值正文操作符分类:算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符算术操作符 + - * / %除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。% 操作符的两个操作数必...原创 2019-11-07 19:17:15 · 171 阅读 · 0 评论 -
C语言——推箱子
推箱子游戏推箱子到指定位置先做头文件#ifndef _GAME_#define _GAME_#include<stdio.h>#include<string.h>#include<Windows.h>#include<time.h>#pragma warning(disable:4996)void game();voi...原创 2019-11-07 09:52:37 · 578 阅读 · 0 评论 -
有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student". 要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)
有一个字符数组的内容为:“student a am i”, 请你将数组的内容改为"i am a student".要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h>/*...原创 2019-11-05 22:57:06 · 142 阅读 · 0 评论 -
1.不使用(a+b)/2这种方式,求两个数的平均值 2. 编程实现:一组数据中只有一个数字出现了一次.其他所有数字都是成对出现的,请找出这个数字.(使用位运算)
1. 不使用(a+b)/2这种方式,求两个数的平均值。#include<stdio.h>int avg(int m, int n){ return (m > n) ? (n + (m - n) / 2) : (m + (n - m) / 2);//优点:减少溢出的可能}int main(){ printf("%d",avg(100, 20)); return ...原创 2019-11-05 22:55:00 · 147 阅读 · 0 评论 -
编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值
编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:255...原创 2019-11-05 22:50:21 · 126 阅读 · 0 评论 -
C语言——贪吃蛇
题目贪吃蛇游戏撞墙会死,咬自己会死。随着长度的增加会加速。这种题型考验的还是思路与工程能力,慢慢来。注:本文要用的变量基本都在每个函数都用,故用的全局变量,未使用指针先做头文件 < 我用的VS2019编译器 >#ifndef _GAME_#define _GAME_#include<time.h>#include<stdio.h>...原创 2019-11-05 21:48:56 · 148 阅读 · 0 评论 -
带登录系统的完成猜数字游戏
带登录系统的完成猜数字游戏知识点:Sleep() 延时rand()函数生成随机数时调用种子srand((unsigned long)time(NULL)); //随机数种子#include <stdio.h>#include <windows.h>#include <time.h>//#pragma warning(disable:4996)...原创 2019-11-04 19:52:01 · 197 阅读 · 0 评论 -
1.写一个函数返回参数二进制中1的个数2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列3.输出一个整数二进制的每一位 4.两个int整数m和n的二进制表达中,有多少个位(bit)不同
写一个函数返回参数二进制中 1 的个数比如: 150000 11114 个 1程序原型:int count_one_bits(unsigned int value){// 返回 1的位数}这儿有三种解题方法,任选一种即可#include<stdio.h>/*写一个函数返回参数二进制中 1 的个数 比如: 15 0000...原创 2019-11-03 21:42:36 · 173 阅读 · 0 评论 -
数据结构——通讯录系统
通讯录管理系统的设计与实现设计要求:系统包括通讯者结点信息的插入、查询、删除、更新以及通讯录信息的输出等功能。菜单内容:通讯者信息的插入通讯者信息的删除通讯者信息的查询通讯者信息的修改通讯录链表的输出 0. 退出管理系统请选择:1 – 5或者0:使用单链表实现该功能:知识点:指针的灵活运用先做头文件#include<stdio.h>#inclu...原创 2019-11-02 10:55:36 · 2364 阅读 · 0 评论 -
扫雷游戏 > > 1. 第一次下子,不炸死。 > 2. 坐标周围没雷,可以实现展开。
题目扫雷游戏第一次下子,不炸死。坐标周围没雷,可以实现展开。这种题型考验的还是思路与工程能力,代码不难,慢慢看。先做头文件 < 我用的VS2019编译器 >#ifndef __GAME_H_#define __GAME_H_#include<stdio.h>#include<string.h>#pragma warning(dis...原创 2019-11-02 03:03:46 · 779 阅读 · 0 评论 -
三子棋
三子棋其实不难,别被代码吓住了!这种代码关键考验的是思路与细心程度先声明头文件#ifndef GAME_H#define GAME_H#include<stdio.h>#include<time.h>#pragma warning(disable:4996)#define COL 3#define ROW 3void start();//欢迎界...原创 2019-10-31 13:02:38 · 136 阅读 · 0 评论 -
输入某年某月某日,判断这一天是这一年的第几天?
输入某年某月某日,判断这一天是这一年的第几天?知识点:数组的灵活运用,逻辑运算符#include<stdio.h>/*输入某年某月某日,判断这一天是这一年的第几天?*/int main(){ int arr[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; int year, monday, day; printf("pl...原创 2019-10-19 13:30:09 · 162 阅读 · 0 评论 -
有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少
有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少#include<stdio.h>//有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少int main(){ int num = 0; for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 4; j++...原创 2019-10-19 13:27:08 · 636 阅读 · 0 评论 -
创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。知识点:函数的调用,想扎实基础的可以了解下实参、形参和形参实例化memset() //void * memset ( void * ptr, int value, size_t num );* 注意:这有个坑,memset是以...原创 2019-10-19 13:23:59 · 132 阅读 · 0 评论 -
判断1000年---2000年之间的闰年
判断1000年—2000年之间的闰年知识点:逻辑表达式(或||、与&&、非!)返回值为0或1,0表示false,非0表示true. 例如!0返回1,0&&1返回0,0||1返回1。#include<stdio.h>int main(){ int year; for (year = 1000; year <= 2000; year+...原创 2019-10-19 13:08:46 · 127 阅读 · 0 评论 -
编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。
编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。前提知识点:getchar() //记录键盘输入的字符,一个一个记录,但用putchar()也可输出所有的字符,但实质上也是一个一个输出的,两个结合类似字符串EOF //EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最...原创 2019-10-19 13:01:06 · 177 阅读 · 0 评论 -
编写一个函数reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数
编写一个函数reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列.要求:不能使用C函数库中的字符串操作函数思路分析字符串以’\0’结尾,如果其第二个字符是’\0’,则该字符串除过’\0’只有一个字符,即整体思路就是输出当第二个字符是’\0’的字符串#include<stdio.h>void reverse_string...原创 2019-10-19 12:48:18 · 273 阅读 · 0 评论 -
指针的引入
1. 内存是如何存放变量的?通过变量名对变量进行访问和存储是为了方便程序员而设计的,其实在内存中完全没有存储变量名的必要。因为编译器知道具体每一个变量名对应的存放地址,所以当你读取某个变量的时候,编译器就会找到变量名所在的地址,并根据变量的类型读取相应范围的数据。2. 指针和指针变量通常我们所说的指针,就是地址的意思。C 语言中有专门的指针变量用于存放指针,跟普通变量不同,指针变量存储的是...原创 2019-10-13 18:53:29 · 157 阅读 · 0 评论 -
变量和常量
1. 变量和常量是程序处理的两种基本数据对象。我们把要让 CPU 处理的数据都放在内存中,但如果你没有给他安排一个位置,而是随意存放,那么你在后边需要再次用到这个数据的时候,就再也找不到它了。所以变量的意义就是确定目标并提供存放的空间。2. 变量名为了确定目标,我们需要给变量命名,一旦变量有了名字,我们就可以通过直呼其名的方式来获取它里边存放的数据。3. C 语言变量命名需要遵守的规范...原创 2019-10-12 16:07:47 · 431 阅读 · 0 评论