- 博客(14)
- 收藏
- 关注
原创 数字转换为任意进制字符串 C语言
将一个整型数字转换为任意进制字符串定义函数:char *int2str(int num, int number_base_conversion)参数:num:要转换的整型数字 number_base_conversion:转换进制函数说明:将整型数字num转换为对应进制number_base_conversion的字符串返回值:转换完毕的字符串的首地址/*输入相应的数字再输入要转换的进制把数字转换为相应进制的字符串*/头文件int2str.h#include <
2022-02-13 15:08:18
637
原创 约瑟夫问题(环形链表) C语言
**有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. **约瑟夫问题基于环形链表实现这里要注意的是代码中的变量k用来记录现在报的数当k为2时,则说明下一个人报数3,释放下一个人的空间(把下一个人踢出队列),若等到k为3再释放,还要记录上一个人的next的指向,指向k为3的next,所以在k=2时就处理,会比较方便编号从一开始输入总人数输出最后留下的那个人的编号具体解释已在代码注释中给出,若有不懂,可以评论区留言或者私信
2022-01-22 16:16:35
567
原创 倒置英文句子(仅将单词位置倒置) C语言
编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,即将句子中的单词位置倒置,而不改变单词内部结构.运用到了栈定义一个存放字符串首地址的栈先将每个单词从语句中分离开来,然后入栈全部入栈完毕后,开始出栈,然后拼接字符串即可。核心函数为strtok_r(str, " ", save_str);char *strtok_r(char *str, const char *delim, char **saveptr); //(linux)wind
2022-01-21 16:22:21
552
原创 读入带空格的字符串 C语言
如何输出带空格的字符串C语言默认是遇到空格,即代表输入的字符串的结束处那么该如何读入带空格的字符串呢?scanf("%[^\n]", buf); //回车结束这样的话就可以读入空格啦表达式的意思为遇到’\n’才读取结束请看演示代码#include <stdio.h>int main(){ /* int num; int ret = scanf("%d", &num); printf("ret = %d, num = %d\n", ret, num); */
2022-01-21 16:14:10
6429
4
原创 计算字符串中子串出现的次数 C语言
输入一个字符串,计算字符串中子串出现的次字数最主要的就是strncmp函数int strncmp(const char* str1,const char* str2,size_t num)功能:指定长度比较返回值:同strcmp通过循环从父串开始的位置向后逐一比较即可若有疑问,可以评论区留言,我会及时回复。/* * 在字符串中 * 检索子串出现的次数 */#include <stdio.h>#include <string.h>#include <s
2022-01-21 16:07:46
3286
原创 逆波兰表达式求值 C语言
输入一个表达式字符串,如1+34-6,输出这个表达式的值.要求至少实现正整数的加减乘除四则运算,如100- 54 -50/10 =75不懂栈结构的,可以去看我的另一篇文章,有关于压栈、出栈的基本代码用到了两个栈,数据压入数据栈内,运算符压入符号栈内提示:需要建立两个栈结构,一个为整形存放操作数,另一个为字符型,存放运算符,运算符的进栈要和在站顶的元素比较优选级如果低于栈顶元素则进行一次运算/** * 逆波兰表达式的应用* 加减乘除(不包含括号及复杂运算)的运算* 输入正确格式的字符串* 输
2022-01-21 16:00:44
948
原创 栈 C语言
利用字符数组实现一个先入后出的栈结构,并提供栈操作的push和pop的接口栈的特点:先进后出栈是一种只能在一端进行插入和删除操作的特殊线性表。#include <stdio.h>#include <stdlib.h>#define MAXSIZE 100int ptr = -1; //指向栈顶元素,栈为空时为-1char stack[100];void push_stack(char c);char pop_stack();int main(){ pri
2022-01-21 15:55:34
138
原创 整数按位异或运算 C语言
题目:输入一个32位的整数a,使用按位异或^运算,生成一个新的32位整数b,使得该整数b的每一位等于原整数a中该位左右两边两个bit位的异或结果最高位和最低位默认为1这个题目当时真的成功地恶心到我了,没精力解释了,自己看代码吧具体的解释,代码中注释已给出若有不懂,可以给我留言,我会尽快回复。/* * 输入一个32位的整数a,使用按位异或^运算, * 生成一个新的32位整数b,使得该整数b的每一位 * 等于原整数a中该位左右两边两个bit位的异或结果 * 这是一个麻烦的问题!!!
2022-01-21 15:52:40
492
原创 修改整数的对应二进制位 C语言
题目:输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.void set_number(int *n, int target, int set_);第一个参数为要修改的参数,第二个参数设置要修改的二进制位,第三个参数设置是要修改为1还是0//具体的注释,代码中已给出,若有疑问,评论区可以留言,我会及时回复#include <stdio.h>#include <stdlib.h>void set_nu
2022-01-21 15:47:37
714
原创 输出整数的二进制表示 C语言
题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.题中处理的是int型变量从右端开始,输出p1(>=0)位到p2位(<=31)的二进制位具体的解释已在代码注释中,不懂可以评论区留言,看到后会及时回复#include <stdlib.h>void b_number(int n, int r_start, int r_end); //二进制位打印函数int main(){ int
2022-01-21 15:42:03
1567
1
原创 快速排序 C语言
快速排序默认为输入5个数进行排序快排讲究的主要是分的过程#include <stdio.h>int QucikSort1(int *a, int low, int high);void QuickSort(int *a, int low, int high);int main(){ int a[6]; //a[0]用来保存进行排序的数 printf("Please input five numbers as a space separated:"); for (int i
2022-01-21 15:34:42
75
原创 约瑟夫问题(数组)
有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.约瑟夫问题,基于数组实现具体的解释都已注释不懂得可以留言评论区#include <stdio.h>int main(){ int person_num; //输入的人数 int person; //复制输入的人数,用作运算,不改变person_sum int flag[100] = {0}; //全部值初始化为0,报数报到3的人置为1 int i
2022-01-21 15:31:31
526
原创 C语言 贪吃蛇
基于C语言编写的贪吃蛇开发环境:VS2019这是一个基于C语言链表开发的贪吃蛇游戏其实贪吃蛇游戏要解决的主要问题就是1、这个游戏的基本组成元素和架构2、如何初始化贪吃蛇并正常行走3、如何判断事件发生代码中运用到了键盘虚拟键判断、终端窗口大小的改变、光标的定位以及输出字体的颜色转载本文章,请标注原创!若有不懂的地方,可以在评论区给我留言代码如下:#include <stdio.h>#include <windows.h>#include <stdlib.
2021-12-25 21:34:14
11282
16
原创 BufferedWriter和FileWriter关闭顺序
BufferWriter和FileWriter关闭先后顺序的影响bufferedWriter和fileWriter的关闭顺序不可颠倒如下例1.txt内容为见代码如下:package javatest;import java.io.*;import java.util.ArrayList;public class File_RW { private FileReader fileReader; private FileWriter fileWriter; priv
2021-11-23 16:44:27
1434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人