- 博客(10)
- 收藏
- 关注
原创 【入门】算法初步2 递归
1、分治分治,就是把原问题划分成若干个规模较小的小问题,然后一个一个解决这些小问题,最后再合并这些小问题的解,就可以解决了这个大问题啦。下面就是官方的解释啦①分解:将原问题分解为若干和原问题拥有相同或相似结构的子问题。②解决:递归求解所有子问题。如果存在子问题的规模小到可以直接解决,就直接解决③合并:将子问题的解合并为原问题的解。我们需要注意的是:分治法分解出的子问题应当是相互独立、没有交叉的。如果存在两个子问题有相交部分,那么不应当使用分治法解决。从广义上米说,分治法分解成的子问题
2022-03-22 20:59:19
628
20
原创 【入门】算法初步1 排序
一、排序1、选择排序选择排序是最简单的排序算法之一,我们来主要学习一下简单选择排序。简单排序是指,对于一个序列A中的元素A[1]~A[n],令i从1到n枚举,进行n趟操作,每趟从待排序部分[i,n]中选择最小的元素,令其与待排序部分的第一个元素A[i]进行交换,这样元素A[i]就会与当前有序区间[1,i-1]形成新的有序区间[1,i],于是在进行了n趟操作后,所有的元素就会是有序的。如图:于是算法实现的逻辑就很明显了:总共需要进行n趟操作(1<=i<=n),每趟操作选出待排序部分[i,n
2022-03-20 15:59:22
1559
35
原创 【入门小题】C语言,咋,你还没刷题吗?
题目来源《算法笔记》1、简单模拟(1)题目描述:对于任何一个自然数n,如果它是偶数,那么把它砍断一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复看下去,最后一定在某一步得到n=1。请设计算一下任意一个不超过1000的正整数n,简单的数一下要多少步才能得到n=1?输入样例: 3输出样例:5思路:读入题目给出的n,之后用while循环语句反复判断n是否为1;如果n为1,则退出循环。如果n不为1,则判断n是否为偶数,如果是偶数,则令n除以2;否则令n为(3*n+1.
2022-03-13 15:36:31
2426
47
原创 C语言 数组
数组就是把相同数据类型的变量组合在一起而产生的数据集合。众所周知,每个变量在内存中都有对应的存放地址,而数组就是从某个地址开始连续若个位置形成的元素集合。1、一维数组格式定义如下:数据类型 数组名[数组大小];注意:数组大小必须是整形常量,不可以是变量。来来来,我们列举几个int a[10];double ab[233];char str[60];这样就可以把int a[10]理解为定义了十个int型数据,且以下面的格式访问;数组名称[下标]还需要知道,在定义了.
2022-03-07 17:25:01
8370
7
原创 c语言的循环结构
1、while 语句当我们遇到一些有规律的相加或者一些其它运算时,我们肯定是不想有键盘一直打下去吧,那不是要累死啊!所以c语言提供了“循环”的实现方式。而while就是实现循环的三种方式之一。while格式如下:while(条件A){...}从这里可以看到,while的格式非常简单,并且跟if语句十分相似,只要条件A成立,就反复执行省略号的内容。如果不加大括号,则while循环只作用while后第一个完整语块(后面有分号滴),是不是超级像。那必须来一道例题咯,求n..
2022-03-06 16:26:27
1528
11
原创 牛客网刷题1
1、BC12 字符圣诞树描述输入一个字符,用它构造一个边长为5的三角形圣诞树。数据范围:保证输入的字符是一个 char 类型的值输入描述:输入只有一行,一个字符。输出描述:该字符构成的三角形圣诞树。#include <stdio.h>int main(){ char x; scanf("%c",&x); for(int i=1;i<=5;i++){ for(int j=5-i;j>0;j--){ printf(" ");
2022-02-26 16:40:21
728
3
原创 c语言指针
1、什么是指针我们可以理解指针就是变量的地址(哈哈哈,这样不太严谨),那么,我们怎样获得变量的地址呢?我们可以用取地址运算符&,只要在变量前加上&,就表示变量的地址。例如定义一个int a的整形变量,&a就表示它的地址。指针是一个unsigned类型2的整数。2、指针变量指针变量用来存放指针(或者可以理解成地址),存放变量的地址。一般在某种数据类型后加星号*来表示这是一个指针变量。例如:int* p;double* p;char* p;
2022-01-26 20:29:19
856
1
原创 C语言中的选择结构
目录1、if语句2、switch语句1、if语句在编程时我们往往会遇到要根据某个条件为真来决定执行哪个语句,这时我们就用到if语句它的格式如下:if(条件A){...}就是当条件A为真时,会执行省略号的内容。#include<stdio.h>int main(){ int n=1; if(n>0) { printf("满足条件,执行if语句!\n"); } return 0;}if语句在满足条件会执行其
2022-01-24 12:02:14
1483
4
原创 C语言的进制转换
c语言中输出类型分别用%o,%d,%x表示八进制,十进制,十六进制。#include <stdio.h>int main(){ printf("%o %x %d", 1234, 1234,1234); return 0;}运行结果:
2022-01-21 21:00:16
1636
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人