0%

洛谷

函数整理

memset

memset(数组名或指针,值,大小)
可用于数组初始化

1
2
3
4
5
#include<string.h>
....
int a[n];
memset(a,0,sizeof(a));
....
阅读全文 »

汇编学习

offset

功能是取得标号的偏移地址

1
2
3
4
5
6
7
8
assume cs:codesg
codesg segment
start:mov ax,offset start
<!-- 相当于mov ax,0 -->
s:mov ax,offstet s
<!-- 相当于mov ax,3 -->
codesg ends
end start

offset取得了标号start和s的偏移地址:0和3

阅读全文 »

这周学得比较少因为刚把输入法从全拼换成双拼在练习打字…

1.搞博客

  • 在博客里加入了点效果(小声 bb:以前觉得应该挺复杂的,其实有了轮子之后也就一行代码的事啊)
    参考:https://github.com/VincentGarreau/particles.js -了解了 GitHub 上博客的结构
    使用 GitHub,Jekyll 打造自己的免费独立博客
阅读全文 »

1.用github搞了博客

参考:https://www.fast.ai/2020/01/16/fast_template/
并用了他的模板…
页面还没改完

2.汇编语言学习

[BX]和loop指令

一次执行完循环的过程:
g指令:
“g 0012”从当前的cs:ip指向的指令执行,一直到(ip)=0012为止
p指令:
直到(cx)=0为止

段前缀:

在访问内存单元的指令中显式低给出内存单元段地址所在的段寄存器,如:
mov ax,ds:[bx]
mov ax,cs:[bx]
mov ax,ss,[bx]
mov ax,ex,[0]

阅读全文 »

2020.1.12-2020.1.18


1.scanf、getchar、getch、getche和缓冲区

https://cloud.tencent.com/developer/article/1354983
https://www.cnblogs.com/lanhaicode/p/10575049.html

读取字符时:
(1)scanf()以 Enter 结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中);
(2)getchar()以 Enter 结束输入,不会舍弃最后的回车符。
读取字符串时:
(1) scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符;
(2) gets()以Enter结束输入(空格不结束),接受空格,会舍弃最后的回车符!
所以读取一个字符串中的每一个字符的时候,往往使用getchar()而不使用scanf(),因为一个字符串中是会出现空格的。如果使用scanf()会造成将一个字符串首先读入第一个空格前的部分,其余部分会残留在输入缓冲区的情况,在下次读取时可能会出现错误。
其次为了避免出现上述问题,必须要在读取输入前,清空缓冲区的残留数据

阅读全文 »

2019.12.08~2019.12.14学习报告


1.洛谷-P1296 奶牛的耳语

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<stdio.h>
#include<math.h>
int main()
{
int n,d;
scanf("%d %d",&n,&d);
int a[n];
int g=0;
int temp;
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
if(a[j]<a[i]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
if((a[j]-a[i])<=d){
g++;
}
else
break;
}
}
printf("%d",g);
return 0;
}

结果两个测试点超时了
艳玲学姐说是冒泡的时间复杂度高,要用快排

阅读全文 »