- 博客(29)
- 收藏
- 关注
原创 MBR 接力 loader 磁盘读写
MBR在0x7c00处的输出 磁盘的0号扇区 最后两个字节为魔数0xaa55loader 在 0x900出的输出,磁盘的第三块(2号)扇区mbr.s[org 0x7c00]%include "boot.inc"; ------------------------------------------- mov ax, 0x600 ; 清屏 mov bx, 0x700 mov...
2020-03-28 11:09:18 277
原创 自制操作系统 笔记
环境 Ubuntu18.4bochs nasm图书:操作系统真象还原关于汇编强烈推荐:王爽汇编第三版------------------------ 杂记-----------------------------------------我们都在向他人学习,先向自己的桶子里面填一些东西,点燃,再填一些东西。学习,当然是站在巨人的肩膀上能够看的更远。我们尊重有知识,有文化,有教养的人,我们...
2020-03-26 10:44:14 221
原创 bochs:输出MBR
; 主引导程序;-------------------------------------------------SECTION MBR vstart=0x7c00 mov ax,cs mov ds,ax mov es,ax mov ss,ax mov fs,ax mov sp,0x7c00; 清屏利于0x06 号功能,上卷全部行,则可清屏; ---------------...
2020-03-26 10:25:43 341
原创 bochs:could not open hard drive image file
刚启动的时候提示不能打开文件,是因为有个镜像文件名加.lock的文件,删除即可比如你的镜像文件为linglong.img, bochs的安装目录在/home/aoe/bochs/下面,ls查看一下,会发现有一个linglong.img.lock文件,删掉之后,从新启动即可。...
2020-03-25 12:41:25 4974 5
原创 【PAT B1025】反转链表 (C语言)
我喜欢事实。做为一个菜鸟,我用两个数组实现,第一个数组的下标就是该结点的地址,里面再存数据和下一结点的地址。用另外一个数组反向存储,即数组下标存储地址,里面存储的信息是它上一个结点的地址。剩下的就是慢慢找够K个反向输出,找输出。下面是粗糙的代码。#include <stdio.h>#define MAX_N 100001typedef struct node{ int a...
2020-03-21 11:17:15 222
原创 【PAT B1024】科学计数法(C语言)
这一位大佬的代码很厉害这是地址要保留所有有效数字,若是正数,前面的正号不输出。#include <stdio.h>#define MAX_A 10000 char A[MAX_A];int pos_E; /* E的位置,也是数字A除了指数部分外的末尾 */int e; /* 指数exponent */char flag_E; /* 指数的正负...
2020-03-20 08:36:55 1086
原创 【PAT B1023】 组个最小数(C语言)
#include <stdio.h>#define MAX 10int main(){ int a[MAX] = {0}; int i; for(i = 0; i < MAX; ++i){ scanf("%d", &a[i]); } for(i = 1; i < MAX; ++i){ if(a[i] != 0){ printf("%d"...
2020-03-19 08:14:04 552
原创 【PAT B1022】D进制的A+B (C语言)
#include <stdio.h>#define MAX 31 /* 有一个测试点要31数字 careful */int arr_D[MAX]; /* D进制数用数组装 */int get_arr_D();void print_D(int i);/************************ 读入A和B,并计算D **********************...
2020-03-18 19:54:10 224
原创 【PAT B1021】个位数统计(C语言)
#include <stdio.h>#define MAX 10#define MAX_N 1000int n[MAX];void read_N();void print_result();/****************************** 读入N ************************/void read_N(){ int c, i;...
2020-03-18 16:54:53 406
原创 【PAT B1020】月饼 (C语言)
注意一下,当需求大于所有库存的情况#include <stdio.h>#define MAX_N 1000 /* 月饼最大种类数 */int N; /* 种类 */float demand; /* 需求量 */typedef struct mooncake{ float inventory; /* 库存量 */ float price; /* ...
2020-03-18 16:31:48 781
原创 【PAT B1018】锤子剪刀布 (C语言)
int N;int C_jia; /* 如果甲赢且甲等于C,给C_jia自增1 以下类似 */int J_jia;int C_yi;int J_yi;int jia_win;int pingju;void read();void print_result();char max_cjb(int c, int j, int b);/*********************...
2020-03-17 19:02:55 220
原创 【PAT B1017】A除以B (C语言)
两个方案,第一边除一边输出。第二个是除完得商,先保存,再输出。思路用数组储存A(A 是不超过 1000 位的正整数)可能很大。按照基本除法一位一位除,得商输出#include <stdio.h>#define MAX_A 1000int A[MAX_A];int B; /* 除数 */int num; /* A 被除数有多少位 */vo...
2020-03-17 15:24:03 1049
原创 【PAT B1016】部分A+B (C语言)
对不起,有一个测试点过不去;我看很多人都直接将AB定义成Int 型,或者long long 型,但是题目说0 < A,B < 10^10, 要是测试数组A是个99位的整数,那不就存不下了吗?#include <stdio.h>int A[10];int B[10];int DA;int DB;void read_AB();int print_PAPB()...
2020-03-16 16:38:24 332
原创 如何应用extern
这是英文原文链接简单总结一下://file1#include <stdio.h>int globalvar = 3; //定义一个全局变量int main{ int fun(); printf("%d\n", globalvar);}如果你想在file2中用 globalvar 这个变量//file2extern int globalvar;int ma...
2020-03-16 10:23:58 120
原创 【PAT B1015】德才论 (c语言)//答案正确
所有的错误只是为了正确,如果不是这个结果,那就是遗憾这道提做了很长时间,我不会用什么函数,自能自己徒手写代码,每一步必须清楚,不然就会有错。注意:第三类是德分不低于才分,即德分>=才分思路:用两个长度为最大人数(N)的数组,第一个数组储存第一类和第二类考生,第一类考生从数组最左端开始储存,第二类考生从数组最后端开始储存,第三、四类一样,也这样储存。然后用快速排序,之后输出。数组的...
2020-03-16 07:46:00 547
原创 error or warning : 'struct info' declared inside parameter list will not be visible outside of this
这是错误引起错误的代码这是修改后的代码,之后编译正确了
2020-03-15 15:12:10 9506
原创 dpkg error: dpkg安装失败
我好像是安装过程中让停下了 ,再去安装就出现错误了运行:lsof /var/lib/dpkg/lockps cax | grep apt之后发现了进程杀死进程8667sudo kill -9 8667 /* 8667为PID */之后就好了;/**************************************************************/...
2020-03-11 15:49:04 3206
原创 【PAT B1014】福尔摩斯的约会(C语言)
认识你们所有人,是多么荣幸我希望将来的你是我见过最优秀的女子,没有之一一根网线,能放宽眼睛,能拉长耳朵,同时非礼也视,非礼也听,心神不宁人的光明胜过太阳,人的温柔明朗超过圆月,人的黑暗胜过一切黑暗,人情的冰冷超过一切严寒我们都想不起来我们的祖先是怎样生活的#include <stdio.h>#include <string.h>#define MAX_STR...
2020-03-10 11:36:55 315
原创 【PAT B1012】数字分类 (C语言)
#include <stdio.h>#define MAX_N 1000 /* 最多输入1000个数 */ #define NON_EXIST 32766 /* A1-A5 不存在*/#define ADD 1 /* A2要交错加减 */#define MINUS 0 /* A2要交错加减 *//* 将lim个数读入数组rea...
2020-03-08 18:50:10 291
原创 【PAT B1011】A+B 和 C (C语言)
#include <stdio.h>int main(){ signed long long int A, B, C; int T; scanf("%d", &T); for(int i = 0; i < T; ++i){ scanf("%lli %lli %lli", &A, &B, &C); if( (A + B) &...
2020-03-08 15:37:28 250
原创 【PAT B1010】一元多项式求导 (C语言)
不得不承认这来之不易思想:将分别对输入的系数和指数计算,并保存到结构体中,用链表连起来,输出,细节都注释了,不全面的话请谅解#include <stdio.h>#include <stdlib.h>/* 将要输出的系数和指数用这个记录 */typedef struct U_p{ /* Unary_polynomial 一元多项式 */ in...
2020-03-08 12:18:35 454
原创 【PAT B1009】说反话 (C语言)
世人染于眼前之微渺,所以昧乎未见之大观第一次有点小错误,是没有考虑只有一个单词输入的情况第一次:#include <stdio.h>#define MAX_C 80 /* 最大字符串长度 *//* 得到字符串, 且返回长度 */int get_str(char s[]){ int c, i; for(i = 0; (c = getchar()) != ...
2020-03-07 11:06:08 671
原创 【PAT B1008】 数组元素循环右移问题 (C语言)
在此有忧无乐之中,须寻一无忧之乐第一没有考虑:若移动的位数大于总数的个数,比如说有6的数字,向右移动8个位置,实际就是移动(8%6)= 2 个位置;#include <stdio.h>#define MAX_N 100 /* 数组所存个数 */void get_array(int s[], int lim){ int i; for(i = 0; i...
2020-03-07 09:41:45 210
原创 【PAT B1007】素数对猜想 (C语言)
这是第一次有点错误的#include <stdio.h>#define MAX_n 100000 /* 素数的范围 */#define YES 1 /* 是素数 */ void get_primes(int s[], int lim){ int i, j; for(i = 2; i < lim; ++i){ for(j = 2; j &l...
2020-03-06 15:54:11 361
原创 【PAT B1006】换个格式输出整数 (C语言)
鱼生未尽我无缘岂望非时的巨鲜?命终总是虫千足自向盲人鞋底牵#include <stdio.h>#define MAX 3 /* 输入的数有多少位 */void get_BSn(int s[], int n){ int i, j; j = 100; for(i = 0; i < MAX; ++i){ s[i] = n / j; n %...
2020-03-06 10:17:02 299
原创 【PAT B1005】继续(3n+1)猜想 (C语言)
Because we share one sunBecause we share one moonBecause we share every star int the whole skyBecause we share one phrase so profound#include <stdio.h>#define MAX_K 101#define YES 1#d...
2020-03-06 09:25:26 264
原创 【PAT B1004】成绩排名(C语言)
认真、朴素、真实的活着,让他们成为好的见证,Because we share something so profound; Because we share one phrase so profound!总是差几分,人生难完美啊,这就是继续的理由吗?#include <stdio.h>#include <stdlib.h>#define MAX 10typ...
2020-03-05 17:11:33 253
原创 空字符串 (C语言)
#抄写自The c programming language R&KA string constant, or string literal, is a suquence of zero and surrounded by double quotes, as in“i am a tring”or“” /* the enpty string */"" /* 这原来是空字符串啊 ...
2020-03-05 15:35:16 1887
原创 测试指针
#include <stdio.h>#include <stdlib.h>/*void get(char** s){ printf("main:%s%s%s\n", s[0], s[1], s[2]);}int main(){ char *s[3] = { "P", " ", "P"}; printf("main:%s%s%s\n", s[0], s[...
2020-03-03 09:23:10 225
空空如也
LeetCode数组越界,但在自己电脑上OK
2023-01-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人