自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 北邮C语言实验指导 实验9 Problem A 神奇的字符画

这是我目前写过最长的代码&&耗时最长的题目,debug了好几天。不过相应地,收获也很大。题目是通过技术手段处理了书弄上来的,可能会有个别笔误,请有书的同学还是优先看书P101思路:初始化动态数组——读入命令——切换到子程序处理——打印收获和踩过的坑:1,在多个子程序中操纵同一个表,用动态数组和指针会非常非常方便,操作的逻辑和数组一模一样,可以用下标运算2,二维动态数组声...

2018-12-30 23:24:01 383

原创 计算机导论模拟测试练习(2018年秋)J. 残缺的车牌一 K. 残缺的车牌二

题目描述某处发生交通事故,肇事车辆逃逸。现场有价值的线索为若干块残缺的车牌。经技术人员分析得出以下结论,1、这些残缺的车牌来自同一块车牌且为肇事车辆悬挂;2、每块上只包含一个可以辨认的号码;3、这些号码的顺序是可以确定的。现请你根据这些信息写一段程序判断某车牌是否可能是肇事车辆当时悬挂的车牌。输入第一行为一个字符串(字符串中只包含大写字母及数字,且长度不超过10),代表通过残缺车牌识别出的号码...

2018-12-29 23:16:07 354

原创 计算机导论模拟测试练习(2018年秋)I. 灯矩阵

题目描述有一个由按钮灯(该物体即是按钮也是灯)组成的矩阵,每次按一下某个按钮灯后,该按钮灯及该灯的左上、右上、左下、右下的按钮灯的状态都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。注意当按一次在矩阵角上的按钮灯时只能改变2个按钮灯的状态;当按一次在矩阵边缘上的按钮灯时只能改变3个按钮灯的状态;现请你写一段程序,根据按钮灯矩阵的初始状态及按按钮的过程给出按钮灯矩...

2018-12-29 23:15:48 713

原创 计算机导论模拟测试练习(2018年秋)F. 习题课一 G. 习题课二 H. 跳马

题目描述计算导论与程序设计课程要开习题课,由于教室座位有限,所以决定限制参加人数。于是规定:1、最多允许一半的班级里的同学参加;2、可以参加的班级最多允许一半的同学参加。现请你写一段程序来计算习题课最多可能有多少个学生参加。输入为两行,第一行为一个整数n(0<n<100),代表班级的个数,第二行为n个正整数,分别代表每个班级的人数。输出只有一行,为能够参加习题课的人数的最大值。(...

2018-12-29 23:14:42 1604

原创 计算机导论模拟测试练习(2018年秋)D. 简单递归一 E. 简单递归二

题目描述现有函数f(n),n为大于等于0的整数。当n等于0时f(n) = 0,当n大于0时 f(n)=f(n-1) + n^2+2n请你写一段程序来计算f(n)的值。注意:此题要求用递归求解,非递归方法不得分。输入:为一个整数n(0<=n<=1800,此条件下,f(n)可以用int存储)。输出:也是一个整数,为对应的f(n)的值。输入样例5输出样例85...

2018-12-29 23:13:58 831

原创 计算机导论模拟测试练习(2018年秋)C. pointer array

题目描述Write a program that prompts the user to type in four character strings, places these in an array of strings (use pointer array), and then prints out: (e.g. I am Peter Pan)(i) The four strings i...

2018-12-29 23:12:59 285

原创 计算机导论模拟测试练习(2018年秋)B. give the length

题目描述Input a string including characters and digitals, and output the number of characters. Write a C function to count the total number of characters, including blanks, contained in a string. Do not ...

2018-12-29 23:12:33 227

原创 计算机导论模拟测试练习(2018年秋)A. 4 functions

还没开始做,这次的时限只有2000分钟,明天要出去玩,今天先存一下以免过期了看不到了。题目描述Write a program that reads 5 integers into an array, and then uses four different methods of accessing the members of an array to print them out in the...

2018-12-29 23:12:08 380

原创 北邮C语言实验指导 实验9 字符串 Problem1:括号匹配

也很容易,用指针去遍历字符串,遇到左括号就计数增加,右括号就减少,最后为零就匹配。#include <stdio.h>int main(int argc, char const *argv[]){ printf("Please input the string:"); char str[101],*ptr=str; int detected=0; gets(str);...

2018-12-28 12:23:58 375

原创 51NOD 1008 n的阶乘mod P

背景知识:同余定理(a+b)%m=(a%m+b%m)%m(ab)%m=(a%mb%m)%m→(aa)%m=(a%m+a%m)%m=(2(a%m))%m(知道结论后证明很简单,设 a=km+j后代入即可未完待续

2018-12-28 12:16:53 105

原创 2018计算导论与程序设计习题课九 D. calc the sum

开始我以为题目那个n是10^100000是打错了的…… Python算这个还卡住了……后来发现不是,还真就是这么大……因为我开100000的数组RE了,100001就过了,说明这个数据真就有这么长……思路:第一次当字符数组来读取,得到数位和,然后当int类型来处理(因为就算全是9也不过900000,比int小多了。)之后的furtherDecode可以用递归来写,其中那个for(;n;n/=...

2018-12-26 21:11:49 935

原创 2018计算导论与程序设计习题课九 C.九宫格密码

果然这种一个坐标变来变去的还是用全局变量做起来最舒服。每次从operation[]里读入一个操作符,然后打印x,y对应的值。#include <stdio.h>int x,y;void readPassword();void move(char);int main(int argc, char const *argv[]){ scanf("%d%d",&x,&a...

2018-12-26 21:04:42 1055

原创 2018计算导论与程序设计习题课九 B. C语言_ex09_10

索性写一个函数叫whatIsThis(ch)来分类传入的字符是个什么玩意,之后check里判断时也会方便很多。注意enum声明枚举类型时后跟的是花括号{}#include <stdio.h>enum{LETTER,NUMBER,UNDERLINE,OTHERS};int check(char []);int whatIsThis(char);int main(int a...

2018-12-26 20:56:06 275

原创 2018计算导论与程序设计习题课九 A. 实验10_7_动态分配内存_1

不得不说指针在处理大批量数据时真的很方便,尤其是可以通过自加切换到下一个数据。需要创建另一个指针a0来保存原来的地址,便于遍历初始化和释放堆内存scanf因为是指针,本身就是地址,就不用写&了。需要注意的是free只认地址不认指针,只要传入的地址申请过内存,就会按照申请时的大小释放。a没有归位时,不在当初申请时的首地址,free是没办法释放的。可以free(a0)#includ...

2018-12-26 20:53:04 432

原创 Minecraft Server 搭建手账

来学校蛮久了,有时候闲下来想打打游戏老找不到人。LOL的自然是很多,可惜我对此一无所知,正巧对面寝招呼着Minecraft联机,就想着搭个服务器。这不算是很纯的技术贴,原来也没有什么开服的经验,一步步摸索吧。1.闲谈机器选择篇最简单的当然是拿一台主机来开,性能又好又容易管理,可是这样的耗费开支太大,硬件开支不说,电费消耗就不会是个小数字,毙了。就算是笔记本,也难以抱枕24小时能开,而且有...

2018-12-26 13:25:02 701

原创 实验十二(2018)E. 实验8_11_旋转矩阵

这题和实验十一(2018)(优化!)E. 实验8_10_蛇形矩阵可以说是非常相似了,应该能想到是自动机。试了一下枚举类型,非常合适并不关心常量值是多少,只是用来区分的情况,写起来很简洁纸上画一画,从(0,0)开始,先向右走n个,再向下走n-1个,再向左走n-1个,再向上走n-2个,再向右走n-2个……循环可以发现就第一次比较特殊,走了n次,所以我们把第一次单独拿出来赋值(第一轮for)。注...

2018-12-25 22:18:18 464

原创 实验十二(2018)D. 实验10_9_指针数组进阶

这题是利用了gets()和puts()的工作原理。gets的参数是一个地址(字符串名本质上也是地址),它就从当前地址开始,把读入的字符串写进去,末尾写入一个’\0’,它并不关心地址原来后面有什么。puts也一样,就当前地址开始读取字符,直到读取到’\0’就停下,它也不管你地址前后有什么。比如一个char set[]={‘a’,’\0’,‘b’,‘c’,’\0’};你从头开始puts就出来一...

2018-12-25 22:03:03 1352 2

原创 实验十二(2018)C. 实验11_3_结构排序

这里的重点依然是排序,输入输出单组数据用getData和printStudent接受指针来控制排序依然是比较a[order[]]交换order[]的策略,只要把编号搞出来就行不熟悉这种排序的朋友可以看实验十一(2018)D. 实验9_20_字符串排序插入排序中sum大小比较可能要换一次,sum大小相同时根据名称的大小还要换一次,这个strcmp有丶长,不过也好理解。值得注意的是,由于每个学...

2018-12-25 21:54:26 823

原创 实验十二(2018)B. 实验11_2_初识结构数组

先说一下我这代码过不了OJ,属于哪种我觉得对但是OJ不觉得的那种,明明输入输出都没问题……哪位行行好帮我找找错……第0组就WA和A题很相似,不过A组中要求对分数排序,这里不用思路:定义Student类型的结构体——录入数据——补全数据——输出指针->成员名 可以获得成员的元素,和只用变量名无异,是int类型就返回int类型,是字符串就返回字符串首地址,是数组也可以用[]获得其中某一位...

2018-12-25 21:44:27 847

原创 实验十二(2018)A. 实验11_1_初识结构

今天新学了结构体,感觉打开了新世界的大门,自己可以创建数据类型了。COURSES常量用于定义科目数目,这里就是5思路:创建一种结构体来存储个人信息——读取一组个人信息——分数排序——计算分数总和——计算分数均值——输出struct student是一个整体,相当于int、double之类,如果不重命名的话底下定义函数、声明变量都要用struct student,单独打一个student是不行...

2018-12-25 18:36:11 638

原创 第三次机考(2018) E. 玩游戏

Do you like van♂ 游戏?先说一下这题我的代码的效率很低,只能过五组数据,第六组会TLE,应该是数据规模太大了。要题目的话直接往下翻即可,代码片后面就是。思路:每个人只能喝一次药、每人的魔相等是突破口设每个人最后魔都是k,一瓶药在被喝若干次后剩小于k就没有价值了,比如题目里500的瓶子喝了300,剩下的200就不能被利用了,因为被喝后只能补200,达不到300每人最大的补魔...

2018-12-22 10:55:05 920 1

原创 第三次机考(2018)D. 残缺的车牌一

det表示detect,存储关键字,in二维数组存储要检测的车牌思路:读取det,in——检查in[i]字符串是否符合,如果是,就把其下标添加到order组里——对in[order[i]]组进行排序——输出in[order[i]]组需要注意的是,输入n之后要用getchar()吃掉回车,不然输入的第一个车牌是空的检查函数check的思路用指针ch表示当前检查的字符的地址,遍历某个车牌的字...

2018-12-22 10:42:28 338 1

原创 第三次机考(2018)C. 跳马

因为坐标主函数和子函数都要用,索性定义成全局变量方便交流思路:二维数组读取棋盘——一维数组读入指令集——遍历指令集改变坐标,并输出坐标在棋盘中的对应字符值得注意的是读取n后也要用getchar()把回车吃掉,不然指令集会读取为空由于最后一次只变化了坐标还没输出,补一个printf#include<stdio.h>int x,y;void process(char);int...

2018-12-22 10:32:34 504

原创 第三次机考(2018)B. 习题课一

那个对除法的要求其实没什么意义,C的floor division本来也就是这么干的,只取商,余数丢掉当然是去取人数最多的班级了思路:读入数组——降序排序——取前n/2个元素,并将这些元素的一半加起来#include<stdio.h>int main(){ int a[100],n,i,j,tmp,r=0; scanf("%d",&n); for(i=0;i&amp

2018-12-22 10:27:17 628

原创 第三次机考(2018)A. 简单递归一

没什么好讲的,很耿直的题目#include<stdio.h>int recur(int);int main(){ int n; scanf("%d",&n); printf("%d",recur(n)); return 0;}int recur(int n){ if(n==0) return 0; else return recur(n-1)+...

2018-12-22 10:23:27 260

原创 实验十一(2018)(优化!)E. 实验8_10_蛇形矩阵

梦里觉得昨天的代码还是写的太烂了,虽然对倒是对,就是太难读,太难懂,一点没有编程之美(笑)。看了Hush大佬的文章,受到启发,这题应该用自动机来解决,就和王八(turtle)画图一样。遂今天又重写了一下,这下会好懂很多。↓描述会有点长,代码往下翻就是总的来说,就是 根据状态进行调整——赋值———跳到下一个状态,如此循环。分析4阶的图形,发现从(0,0)号位写入1后,我们的坐标变换是↓↗...

2018-12-21 18:32:23 531

原创 实验十一(2018)E. 实验8_10_蛇形矩阵

首先说一下我这个写的并不好……但好歹能跑能过有丶像电子的能级交错图先比划划看要做什么事情,先左上角写个1,再下一行,往右上方写2,3。。。。到顶上后右移一格,再往左下写,再右上,就像个蛇(皮)了。写3阶的时候,我们实际上是把自然数写到了(00) (10 01) (02 11 20)(30 21 12 03) //i行j列据每次划线进行分组每一组内行数+列数保持不变,一个递减,一个递增...

2018-12-18 23:17:38 471 1

原创 实验十一(2018)D. 实验9_20_字符串排序

拆分问题,也就是 读取字符串——排序字符串——输出字符串字符串数目不定当然就用动态二维数组来存了,本来应该用指针写的,这里就偷懒用C99了切记!scanf读完n后缓冲区还有一个回车!务必用getchar()把回车吃掉,不然读入字符串时gets首先得到的是一个回车!!!!正常对数组排序的话我们是把数组里的数不断交换排序的,现在操作的每个对象是字符串,显然交换字符串就不太现实仔细想一想我们做...

2018-12-18 23:04:29 1326

原创 实验十一(2018)C. 实验10_7_动态分配内存_2

这题是个学习题,自己写的部分不太多,题目讲了大半动态一维数组就malloc一块地儿,赋给一个指针,之后用指针+offset去取地址和值动态二维数组先malloc一块地儿,但是这块地儿存的是指针数组,也就是一排指针,然后这没一个指针又各自管着一块地儿,这才存着数简单点理解,就跟某种封建等级制度一样,嗯,我说的印度。一个婆罗门管着几个刹帝利,几个刹帝利管着一群吠舍,每个吠舍又管着首陀罗,而只...

2018-12-18 22:49:34 404 1

原创 实验十一(2018) B. 实验10_5_指针数组初步

这题应该考的是字符串整体输出时的特点反正puts()和printf(%s)也很耿直,就从给定的地址开始读取字符,读到’\0’就结束,至于给定的地址前是啥,’\0’后又是啥,他们一点也不关心比如一个char set[]={‘a’,’\0’,‘b’,‘c’,’\0’};你从头开始puts就出来一个a,你从b开始puts就出来bc所以弄两个指针,一个checkPtr在碰到空格时就把它改成’\0’...

2018-12-18 22:30:42 625 4

原创 实验十一(2018)A. 实验10_4_设计函数char *locatesubstr

这里先偷个懒,用数组下标写的,题目要用指针写不过OJ又不晓得我用的啥~~改天把老师的指针PPT看懂了再用指针写一下周六又要考计导,有丶慌张#include <stdio.h>int locate(char [],char []);int main(int argc, char const *argv[]){ char str1[501],str2[501]; gets...

2018-12-18 22:14:45 318

原创 归纳:简单的排序算法(冒泡排序,插入排序,选择排序)

#include <stdio.h>void copyArray(int from[],int target[],int size){ int i; for(i=0;i<size;i++) target[i]=from[i];}void printArrary(int a[],int size){ int i; for(i=0;i<size;i++)...

2018-12-16 23:22:17 257

原创 ——All stories begin here, and all about me————

——All stories begin here, and all about me————一个北邮本科生一个上大学前没写过代码的鶸一个实际上非常渴望交流的社交恐惧症患者Contact me:私信QQ/微信啥的,我会主动联系你的,注明CSDN咯...

2018-12-16 23:19:00 308

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除