自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 算法基础(递归)--- 逆波兰表达式

问题描述逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2+3的逆波兰表示法为+2 3.逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2+3)*4的逆波兰表示法为* + 2 3 4.本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。输入输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数输出输出为一行,表达式的值样例输入* + 11.0 12.0 + 24.0 35.0样例输出1357.000000思路本题中“逆波兰表达

2021-05-09 09:03:00 519 1

原创 算法基础(递归)---N皇后问题

题目描述:输入整数n,要求n个国际象棋的皇后,摆在n*n的棋盘上互相不能攻击,输出全部方案样例输入:4样例输出:2 4 1 3 3 1 4 2 思路:皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上用递归替代多重循环代码:#include <stdio.h>#include <math.h>int N;int queenPos[100];//用来存放算好的皇后位置,最左上角是(0,0)void NQueen(int k)

2021-05-06 16:54:47 191

原创 算法基础(递归)---汉诺塔问题(C语言)

问题描述:古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个和尚想把这64个盘子从A座移到C座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上,在移动过程中可以利用B座,要求输出移动的步骤。思路:分解为先把n-1个盘子移动到B座,把最后一个盘子移动到C座,再把B座上的n-1个盘子移到C座。代码:#include <stdio.h>void Hanoi(int n, char src, char

2021-05-05 11:46:01 222

原创 算法基础(枚举)--- 熄灯问题(C语言)

描述:有一个由按钮组成的矩阵,其中每行有6个按钮,共5行,每个按钮的位置有一盏灯,当按下一个按钮后,该按钮以及周围位置(上边,下边,左边,右边)的灯都会改变状态。如果灯原来是点亮的就会被熄灭,原来是熄灭的则会被点亮。在矩阵角上的按钮改变3盏灯的状态,在矩阵边上的按钮改变4盏灯的状态,其他的按钮改变5盏灯的状态。给定矩阵中每盏灯的初始状态,求一种按按钮方案,使得所有的灯都熄灭。输入:第一行是一个正整数N,表示需要解决的案例数 每个案例由5行组成每一行包括6个数字 这些数字以空格隔开,可以是0或

2021-04-28 00:15:50 1413 2

原创 算法基础(枚举)--称硬币问题(C语言)

问题描述:有12枚硬币。其中有11枚真币和一枚假币。假币和真币重量不同,但不知道假币比真币轻还是重。现在,用一架天平称了这些币三次,告诉你称的结果,请你找出假币并且确定假币是轻是重。输入样例:1ABCD EFGH even ---- 表示的右侧天平的状态ABCI EFJK upABIJ EFGH even输出样例:K is the counterfeit coin and it is light.思路:(枚举)假设X是轻的假币,如果符合则

2021-04-25 20:11:41 2000 4

原创 通讯录的实现(C语言)

用C语言实现通讯录一、需求:1.可以保存100个人的信息,每个人的信息包括:名字,年龄,性别,电话,住址2.功能:1)增加一个人的信息2)删除一个指定的联系人3)查找一个指定的联系人4)修改一个指定的联系人5)显示通讯录中所有人的信息6)排序0)退出二、整体组织三个文件 1. test.c 测试整个通讯录的逻辑 2. contact.h 通讯录相关功能的函数声明 3. contact.c 通讯录相

2021-04-14 20:07:02 89

原创 顺序表的实现(C语言)

顺序表的实现(C语言)顺序表的定义顺序表的缺陷代码实现顺序表的定义顺序表是用一段物理地址连续的存储单元一次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:1、静态顺序表:使用定长数组存储2、动态顺序表:使用动态开辟的数组存储顺序表的缺陷顺序表的缺陷:1、动态增容有性能消耗,并且伴随一定程度的空间浪费。2、如果需要头部插入数据,需要挪动数据。代码实现静态顺序表实现#pragma once#define N 100//静态顺序表的存储

2021-04-13 21:41:37 96 1

原创 回文数

一、判断是否为回文数1、转为字符串#include <stdio.h>#include <string.h>int main(){ int i, j, len; char s[1000] = { 0 }; scanf("%s", s); len = strlen(s); for (i = 0, j = len - 1; i < len; i++, j--) { if (s[i] != s[j]) { printf("不是回文数"); r

2021-04-12 18:04:45 54

原创 结构体详解

一、结构变量结构的元素可能具有不同的类型。而且,每个结构成员都有名字,所以为了选择特定的结构成员需要指明结构成员的名字而不是它的地址。1.结构变量的声明struct { char name[20]; char s[20]; int score;}stu;类似这样,表示每个结构变量都有3个成员。struct{…};指明了类型,stu则是具有这种类型的变量。1)结构的成员在内存中是按照声明的顺序存储的。2)每个结构代表一种新的作用域。任何声明在此作用域内的名字都不会和程序中的其他名字冲

2021-04-10 09:05:26 610 3

原创 JAVA运算符

一.算术运算符1.基本四则运算符包括+、-、*、\、%注意:1)是int/int结果还是int,需要使用double来计算。2)0不能作为除数。(下图是报错分析)3)%不仅可以对int取模,也能对double来求模(区别于C语言,C语言中不能对double类型求模)2.增量赋值运算符+= -= *= /= %=举个例子short b=6; b=b+2; b+=2;其中b=b+2;会报错,因为2是整形,b需要整形提升,然后赋值给b需要强制类型转换。而b+=2;不会报错,说明增量运算符会

2021-04-03 10:53:24 71

原创 初识java

初识Java的main方法public class Test{public static void main(String[] args){System.out.println("Hello,Java");System.out.println("My name is:"+args[0]);}}在java中所有的东西都会属于某个类。先建立源文件(扩展名为.java),然后将它编译成新的类文件(扩展名.class)。真正被执行的是类。main()就是程序的起点。通过上述代码,我们可以看到一个

2021-03-29 23:37:17 46

原创 C语言实现扫雷小游戏

1.game.h(使用函数的声明)#include <stdio.h>#define ROW 9#define COL 9#define EASY_COUNT 10#define ROWS ROW+2#define COLS COL+2#include <math.h>#include <time.h>//初始化void Init(char board[ROWS][COLS], int rows, int cols, int set);//打印棋盘

2021-03-23 08:59:53 60

原创 三子棋的实现

三子棋思路:test.c -------- 测试代码game.c -------- 游戏代码的实现game.h -------- 游戏代码的声明1.大致的逻辑想反复玩,用do while 结构菜单 1.play 0.exit#include <stdio.h>void menu(){ printf("************************\n"); printf("**** 1.play *****\n"); prin

2021-03-15 23:20:23 57

原创 新的开始

我的第一篇博客自我介绍大家好呀,我是北邮机械工程专业的大一新生,一直觉得程序员是个很酷的职业,由于专业不对口,最近才算刚刚开始接触C语言吧,觉得蛮有趣,希望未来会变得优秀。编程的目标达到就业水平,收获一份好offer。学习编程计划1.用一年的时间把C/C++语言基础打扎实,学习Linux系统编程、Linux网络编程、算法、数据结构等,然后开始参与实战项目;2.每天坚持写代码,阅读一些与编程相关的书籍;3.当有一些突破时就写博客,确保自己掌握;4.每周保证学习编程在12小时以上;我最想进入

2021-01-10 23:47:16 1628 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除