信息安全工程实践

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《信息安全工程实践二》

实践报告

姓名朱杰学号20165346

班级软信1603 指导教师徐剑王学毅马毅程序实践名称信息安全工程实践二

程序实践内容网络程序设计

开设学期2017-2018第二学期

开设时间第17周——第19周

报告日期2018年7 月 14日

评定人签字

评定成绩

评定日期

东北大学软件学院

一、程序实践概述

1、题目名称:Linux操作系统及其相关命令,Linux编程基础

Linux程序设计基础

2、时间进度:

12学时

3、开发环境:

Ubantu

二、问题分析

1、功能说明:

熟练掌握如下Linux命令。

①系统信息命令:who,w,du,du,df等

②文件操作命令:touch,cp,mv,rm,find,grep,cat,more,sort等

③目录操作命令:ls,dir,mkdir,rmdir,cd

④进程操作命令:ps,top,cal,last,whereis,date

⑤网络操作命令:ping,write,telnet,ftp,talk

⑥ vi命令

①编程实现快速排序算法;

②实现文本文件拷贝函数copy(f_source, f_target);即实现如下功能:

$ ./copy f1 f2

以上程序执行后当前目录会形成一个新的文件f2,且其内容与f1完全一致。

③编写一个程序,要求:输入N个学生的学号和成绩,并保存在stu.txt文本文件中,对学生成绩进行排序并把排序后的结果输出到score.txt文件中,同时在屏幕上输出高于平均成绩的学生的学号和成绩。

④编写一个程序找出串str1和串str2的所有最长公共子串。

⑤从文件file.in中读出整数,将其中不同整数及其出现次数,按整数由大到小的顺序输出到文件t.out中。要求:采用2叉有序树做为存储结构。(选作)

2、解决方案:

利用PPT中所提供的相关函数使用解决问题

三、方案设计

1、模块结构:

模块功能图和模块描述

①根据用户输入数组进行快速排序,然后输出排序后的数组

②用户创建f1,然后运行函数生成f2

③根据用户输入学生的数据,生成原数据stu文本以及根据成绩进行排序并把排序后的结果输出到score文本中,在屏幕上输出高于平均成绩的学生的学号和成绩

④根据用户输入的两个字符串,找出最长公共子串

⑤读出文件中的整数,将其中不同整数及其出现次数,按整数由大到小的顺序输出到文件t.out中

2、数据结构:

①int a[10]

②FILE *fp1,*fp2

③struct student{

int number;

int score;

}student[10]

④char a[10],b[10]

⑤文本f1

3、总体流程:

给出流程图

4、关键算法:

给出关键算法描述

①if (num>1) {//重复的判断条件,如果长度小于2,则不需排序 while (i != j) {

for (j=num-1; i

m++;

if (a[j]

a[i] = a[j];

n++;

break;

}

}

for (i=0; i

m++;

if (a[i]>k) {

a[j] = a[i];

n++;

break;

}

}

a[i] = k;

}

sort(a, i);

sort(a+i+1, num-i-1);

}

②while((c=fgetc(fp1))!=EOF){//将f1拷贝到f2中

fputc(c,fp2);

putchar(c);

}

③for(i=0;i

a[i]=student[i].score;

}

sort(a,m);

for(i=0;i

for(j=0;j

if(a[i]==student[j].score){

strcpy(student1[i].num,student[j].num);

student1[i].score=student[j].score;

}

}

}

fp=fopen("score.txt","w+");

fwrite(&student1,sizeof(student1),1,fp);

fclose(fp);

④for(i=0;i

for(j=0;j

strcpy(a, "0");

p=i;

q=j;

while(s1[p]==s2[q]&&s2[p]!=0){

a[m]=s2[q];

p++;

q++;

m++;

}

if(strlen(a)>strlen(b))

{

strcpy(b,a);

}

m=0;

}

}

四、调试记录

给出测试用例

相关文档
最新文档