
C语言中那些有意思的题
文章平均质量分 73
学习过程中遇到有意思的题目
printf("雷猴");
一个小白
展开
-
轻松拿下埃氏筛和线性筛
今天浅学一下一个简单算法通常,我们写的筛选素数的算法是这样的:bool isPrime(int x) { for (int i = 2; i <= sqrt(x); ++i) { if (x % i == 0) { return false; } } return true;}如果要检查n个数时间复杂度为O(n*sqrt(n)),空间复杂度为O(1)下面来看看埃氏筛,...原创 2022-04-06 10:10:04 · 685 阅读 · 14 评论 -
吃饭的时候也能学的栈和队列
栈和队列原创 2022-03-27 13:42:38 · 1745 阅读 · 9 评论 -
轻松拿下单链表
单链表详解原创 2022-03-22 10:45:26 · 861 阅读 · 11 评论 -
指针进阶详解
通过一些面试、笔试题来深入了解指针//一维数组int a[] = {1,2,3,4};printf("%d\n",sizeof(a)); a单独放在sizeof内部,计算整个数组大小,16printf("%d\n",sizeof(a+0)); 计算第一个元素的地址的大小,4或8printf("%d\n",sizeof(*a)); 计算第一个元素的大小,4printf("%d\n",sizeof(a+1)); 计算第二个元素的地址的大小,4或8printf("%d\n",sizeof(...原创 2022-01-20 17:41:30 · 368 阅读 · 0 评论 -
打印螺旋数组
又看到一个比较有意思的题目,题目要求打印N*N螺旋方阵,比如5*5的方阵:1 16 15 14 13 2 17 24 23 12 3 18 25 22 11 4 19 20 21 10 56 7 8 9 这个题目乍一看没有什么思路,和平常的二维数组打印不太一样。所以不能按照平常的思考方式去想这道题是不对的。我们顺着题目的意思去思考,既然它的结果是螺旋的,那我们初始化数组的时候也螺旋初始化即可,可以发现数组是先从左边从上到下递增,再从最下面从左到右...原创 2021-12-05 23:12:08 · 642 阅读 · 4 评论 -
一维/二维数组实现杨辉三角
如图所示,即为杨辉三角目录二维数组实现杨辉三角一维数组实现杨辉三角二维数组实现杨辉三角我们从杨辉三角中可以发现规律:d[i][j] = d[i - 1][j] + d[i - 1][j - 1],此法可以保存整个杨辉三角的数组,可以反复查询,但空间复杂度较高,为n²#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int arr[30][30] = { ...原创 2021-11-24 11:16:19 · 1022 阅读 · 1 评论 -
C语言实现打印某年某月的日历
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int arr1[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; int i = 0; int year = 0; int month = 0; int days = 0; int week = 0;//判断第一天周几 scanf("%d%d", &year, &month); if((.原创 2021-12-05 21:42:14 · 4921 阅读 · 2 评论