
C语言
C语言
Julian Q
这个作者很懒,什么都没留下…
展开
-
数据结构:从离散化看区间和题目
文章目录前言一、题目区间和二、题解三、思路说明前言这里放出一道题的相关题解,并给出自己的解析和看法一、题目区间和假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。现在,我们首先进行 n 次操作,每次操作将某一位置 x 上的数加 c。接下来,进行 m 次询问,每个询问包含两个整数 l 和 r,你需要求出在区间 [l,r] 之间的所有数的和。输入格式第一行包含两个整数 n 和 m。接下来 n 行,每行包含两个整数 x 和 c。再接下来 m 行,每行包含两个整数 l 和 r。输出格式原创 2022-01-22 16:01:29 · 673 阅读 · 0 评论 -
编译原理:句子、句型和语言的概念区分
如图所示:原创 2021-11-30 18:24:32 · 5271 阅读 · 0 评论 -
编译原理:上下文无关文法
文章目录前言一、上下文无关文法的组成二、例子1.分析2.巴特斯范式(BNF)3.简写总结前言学习编译原理的上下文无关文法一、上下文无关文法的组成上下文无关文法是编译原理中一种句子分析的方式,是在将句子划分为主谓宾,代词、冠词、名词等词性基础上的进一步抽象,方便对句子进行进一步分析,以下是上下文无关文法的组成:终结符集合(VT):VT代表终结符集合,非空,其中的每个元素称为终结符(Terminal),如英语语法中的She、He、Me,在文法中终究符是不可分割的非终究符集合(VN):VN代原创 2021-11-30 18:12:41 · 6632 阅读 · 0 评论 -
编译原理:判断表达式是否具有左值与右值
项目场景:学习编译原理遇到的左值与右值的概念,其相关的练习题目问题描述: 题目分析:要判断一个表达式是否具有左值或者右值,就把它往表达式两边都放一放,如果它放在左边表达式能成立,那么我们需要的就是它的左值;如果它放在表达式右边能够成立,那么我们需要的就是它的右值答案给出:这里我们可以看到,C选项a+5不能放在表达式左边,因而它不具备左值,所以答案选C....原创 2021-11-30 15:31:36 · 552 阅读 · 0 评论 -
编译原理:绑定(Binding)总是发生在编译过程中吗
项目场景:今天在学习编译原理的时候遇到了这样一个问题:绑定(Binding)总是发生在编译过程中吗?问题描述:题目分析:绑定(Binding)就是将标识符与所代表的数据或者程序代码或者其独特的含义进行关联,使用程序可以根据标识符使用标识符背后所关联的内容绑定(Binding)分为两种:1.静态绑定,指的是发生在编译过程中,指的是已经在编译过程中能够确定的标识符和其代表内容之间的关系,如是函数、变量等。2.动态绑定,指的就是这种绑定关系(映射关系)在编译期间确定不了,得等到程序运行、执行期原创 2021-11-30 14:57:39 · 812 阅读 · 0 评论 -
Problem G: 深入浅出学算法023-旋转数阵
文章目录题目一、输入输出二、代码1.总结题目提示:把1到n^2的正整数从左上角开始由外层至中心按照顺时针方向螺旋排列一、输入输出Input:输入整数n (1 <= n <= 10)Onput:按示例输出矩阵二、代码1.代码如下(示例):#include<stdlib.h>#include<stdio.h>int main(){ int n; int a[11][11]={0}; while (scanf("%d",&n)原创 2021-05-15 21:38:42 · 806 阅读 · 0 评论 -
Problem D: 恺撒加密
文章目录题目一、代码二、测试数据1.输入2.输出总结题目有一行电文,请将电文中所有字母按A→F,B→G,……,U→Z,V→A,W→B,X→C,Y→D,Z→E,a→f,b→g,……,u→z,v→a,w→b,x→c,y→d,z→e的规律译成密文,其他字符保持不变。一、代码示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。#include<stdio.h>#include<stdlib.h>#include<string.h>原创 2021-05-14 19:56:30 · 532 阅读 · 0 评论 -
Problem D: 部分复制字符串
文章目录一、题目?二、代码1.全部代码如下2.测试案例总结一、题目?输入一个字符串,将该字符串从第m个字符开始的全部字符复制成另一个字符串。m有用户输入,值小于字符串的长度。要求编写一个函数mcopy(char *src, char *dst, int m)来完成。二、代码1.全部代码如下#include <stdio.h>#include <string.h>void mcopy(char* s1, char* s2, int m);int main(){ i原创 2021-05-08 21:11:46 · 598 阅读 · 0 评论 -
用C语言手撸一个数组,实现数组的增删改查操作
文章目录出发点一、使用到的知识一、源码展示1.创建数组2.增3.删4.改5.查6.测试代码2.整体代码展示总结出发点今日闲来无事,就用C语言手撸了一份数组最基础的源码,手动实现数组的增删改查操作以下是代码呈现一、使用到的知识1.数组 2.指针3.结构体 一、源码展示1.创建数组创:Array array_create(int init_size){ Array a; a.size=init_size; a.array=(int*)malloc(sizeof(int)*ini原创 2021-05-07 13:46:17 · 3284 阅读 · 0 评论 -
C语言:使用malloc查看自我电脑在程序运行时最多可分配的内存空间
使用malloc查看自己电脑的缓存最多可分配多少内存空间前言一、malloc是什么?二、操作步骤1.代码2.运行结果总结前言笔者一时兴起想用malloc函数查看自己电脑在程序运行时最多可分配多少用于临时存储的内存空间,因而想用malloc函数进行一番操作;现将操作过程、代码和结果附上。一、malloc是什么?示例:头文件:#include <stdlib.h>malloc() 函数用来动态地分配内存空间,其原型为:void* malloc (size_t size);【参数说原创 2021-04-29 00:13:45 · 1941 阅读 · 3 评论 -
C语言oj做题记录
C语言oj做题记录题目一、代码二、运行结果和思考1.运行结果思路总结缺陷思考题目Problem A: 调用自定义函数search(int list[], int n),在数组中查找某个数要求:输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示"Not found"。要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1.一、代码#include <std原创 2021-04-23 19:08:18 · 540 阅读 · 0 评论 -
C++基础题目(oj) 1
C++基础题目(oj)一、题目设计程序: 在数组a的10个数中求平均值v,将大于等于v的数组元素进行求和, 并将结果以格式"%.5f"输出.#include “stdio.h” int main() { int i; float a[10]={7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81},sum,v=0;/ * * * 在这里添加代码 * * /printf("%.5f,%.5f",v,sum); }二、代码1.代码如下#include <io原创 2021-04-17 10:51:51 · 415 阅读 · 0 评论 -
2021-04-15
C#实验一 创建Time类一、题目二、测试1.测试代码如下2.测试结果三、运行代码如下:四、输出结果如下:难点总结一、题目2.创建一个Time类,具有以下成员:(1)int类型字段hour, minute, second;(2)int类型属性Hour, Minute, Second,其中,要求在set访问器对用户提供的值进行校验,Hour在0-23之间,Minute和Second均在0-59之间。被赋其它值时抛出异常,抛出方法:throw new ArgumentOutOfRangeExcept原创 2021-04-15 01:09:22 · 232 阅读 · 0 评论 -
C语言:输出四位完全平方数
Problem A: 零起点学算法30——输出四位完全平方数文章目录前言一、题目介绍二、代码总结前言一道C语言的思考一、题目介绍输出所有形如aabb的四位完全平方数(即前2位数字相等,后2位数字相等,且是另外一个数的平方)二、代码代码如下(示例):#include<stdio.h>#include<math.h>int main(){ for (int a=1;a<=9;a++){ for (int b=0;b<=9;b++){ int原创 2021-04-11 09:52:32 · 4138 阅读 · 0 评论