




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
给文件加密的技术很多,其中又分为不同等级,以适合不同场合的需要.这里给出最简单的文件加密技术,即采用文件逐字节与密码异或方式对文件进行加密,当解密时,只需再运行一遍加密程序即可.下面是一个实例程序,能对任意一个文件进行加密,密码要求用户输入,限8位以内(当然你可以再更改).程序有很好的容错设计,这是我们应该学习的./* Turbo 2.0 pass. give file a password! */#include#include#include#includevoid dofile(char *in_fname,char *pwd,char *out_fname);/*对文件进行加密的具体函数*/void main(int argc,char *argv)/*定义main()函数的命令行参数*/char in_fname30;/*用户输入的要加密的文件名*/char out_fname30;char pwd8;/*用来保存密码*/if(argc!=4)/*容错处理*/printf(nIn-fname:n);gets(in_fname);/*得到要加密的文件名*/printf(Password:n);gets(pwd);/*得到密码*/printf(Out-file:n);gets(out_fname);/*得到加密后你要的文件名*/dofile(in_fname,pwd,out_fname);else/*如果命令行参数正确,便直接运行程序*/scpy(in_fname,argv1);scpy(pwd,argv2);scpy(out_fname,argv3);dofile(in_fname,pwd,out_fname);/*加密子函数开始*/void dofile(char *in_fname,char *pwd,char *out_file)FILE *fp1,*fp2;register char ch;int j=0;int j0=0;fp1=fopen(in_fname,rb);if(fp1=NULL)printf(cannot open in-file.n);exit(1);/*如果不能打开要加密的文件,便退出程序*/fp2=fopen(out_file,wb);if(fp2=NULL)printf(cannot open or create out-file.n);exit(1);/*如果不能建立加密后的文件,便退出*/while(pwd j0);ch=fgetc(fp1);/*加密算法开始*/while(!feof(fp1)fputc(chpwdj=j0?j=0:j ,fp2);/*异或后写入fp2文件*/ch=fgetc(fp1);fclose(fp1);/*关闭源文件*/fclose(fp2);/*关闭目标文件*/冒泡排序的算法分析与改进 交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。 应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。 冒泡排序 1、排序方法 将被排序的记录数组R1.n垂直排列,每个记录Ri看作是重量为Ri.key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上飘浮。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。 (1)初始 R1.n为无序区。 (2)第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。即依次比较(Rn,Rn-1),(Rn-1,Rn-2),(R2,R1);对于每对气泡(Rj+1,Rj),若Rj+1.keyRj.key,则交换Rj+1和Rj的内容。 第一趟扫描完毕时,最轻的气泡就飘浮到该区间的顶部,即关键字最小的记录被放在最高位置R1上。 (3)第二趟扫描 扫描R2.n。扫描完毕时,次轻的气泡飘浮到R2的位置上 最后,经过n-1 趟扫描可得到有序区R1.n 注意: 第i趟扫描时,R1.i-1和Ri.n分别为当前的有序区和无序区。扫描仍是从无序区底部向上直至该区顶部。扫描完毕时,该区中最轻气泡飘浮到顶部位置Ri上,结果是R1.i变为新的有序区。 2、冒泡排序过程示例 对关键字序列为49 38 65 97 76 13 27 49的文件进行冒泡排序的过程【参见动画演示】 3、排序算法 (1)分析 因为每一趟排序都使有序区增加了一个气泡,在经过n-1趟排序之后,有序区中就有n-1个气泡,而无序区中气泡的重量总是大于等于有序区中气泡的重量,所以整个冒泡排序过程至多需要进行n-1趟排序。 若在某一趟排序中未发现气泡位置的交换,则说明待排序的无序区中所有气泡均满足轻者在上,重者在下的原则,因此,冒泡排序过程可在此趟排序后终止。为此,在下面给出的算法中,引入一个布尔量exchange,在每趟排序开始前,先将其置为FALSE。若排序过程中发生了交换,则将其置为TRUE。各趟排序结束时检查exchange,若未曾发生过交换则终止算法,不再进行下一趟排序。 (2)具体算法 void BubbleSort(SeqList R) /R(l.n)是待排序的文件,采用自下向上扫描,对R做冒泡排序 int i,j; Boolean exchange; /交换标志 for(i=1;i=i;j-) /对当前无序区Ri.n自下向上扫描 if(Rj+1.keyRj.key)/交换记录 R0=Rj+1; /R0不是哨兵,仅做暂存单元 Rj+1=Rj; Rj=R0; exchange=TRUE; /发生了交换,故将交换标志置为真 if(!exchange) /本趟排序未发生交换,提前终止算法 return; /endfor(外循环) /BubbleSort 4、算法分析 (1)算法的最好时间复杂度 若文件的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数C和记录移动次数M均达到最小值: Cmin=n-1 Mmin=0。 冒泡排序最好的时间复杂度为O(n)。 (2)算法的最坏时间复杂度 若初始文件是反序的,需要进行n-1趟排序。每趟排序要进行n-i次关键字的比较(1in-1),且每次比较都必须移动记录三次来达到交换记录位置。在这种情况下,比较和移动次数均达到最大值: Cmax=n(n-1)/2=O(n2) Mmax=3n(n-1)/2=O(n2) 冒泡排序的最坏时间复杂度为O(n2)。 (3)算法的平均时间复杂度为O(n2) 虽然冒泡排序不一定要进行n-1趟,但由于它的记录移动次数较多,故平均时间性能比直接插入排序要差得多。 (4)算法稳定性 冒泡排序是就地排序,且它是稳定的。 5、算法改进 上述的冒泡排序还可做如下的改进: (1)记住最后一次交换发生位置lastExchange的冒泡排序 在每趟扫描中,记住最后一次交换发生的位置lastExchange,(该位置之前的相邻记录均已有序)。下一趟排序开始时,R1.lastExchange-1是有序区,RlastExchange.n是无序区。这样,一趟排序可能使当前有序区扩充多个记录,从而减少排序的趟数。具体算法【参见习题】。 (2) 改变扫描方向的冒泡排序 冒泡排序的不对称性 能一趟扫描完成排序的情况: 只有最轻的气泡位于Rn的位置,其余的气泡均已排好序,那么也只需一趟扫描就可以完成排序。 【例】对初始关键字序列12,18,42,44,45,67,94,10就仅需一趟扫描。 需要n-1趟扫描完成排序情况: 当只有最重的气泡位于R1的位置,其余的气泡均已排好序时,则仍需做n-1趟扫描才能完成排序。 【例】对初始关键字序列:94,10,12,18,42,44,45,67就需七趟扫描。 造成不对称性的原因 每趟扫描仅能使最重气泡下沉一个位置,因此使位于顶端的最重气泡下沉到底部时,需做n-1趟扫描。 改进不对称性的方法 在排序过程中交替改变扫描方向,可改进不对称性。#include #include /*与malloc.h差不多*/#include #define maxlen 100suct persons char name10; /*定义结构体数组用于缓存数据*/char addr20;char phnum10;personsmaxlen;typedef suct lnode /*通讯录结构中结点的定义*/char name10; /*姓名*/char addr20; /*地址*/char phnum10; /*电话*/suct lnode *next;listnode,*linklist;linklist head=NULL,r=NULL; /*定义头指针和尾指针*/listnode *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7;int i;char name110,ch;char s120;FILE *fp; /*定义文件指针*/;void creat() /*将文件的信息读入结构体数组在转存入链表中*/ int j;long k;fp=fopen(people.txt,r t); /*打开文件*/if(fp!=NULL)for(i=1;iname,);scpy(s-addr,personsi.addr);scpy(s-phnum,personsi.phnum);if(head=NULL) /*用尾插法将其插入链表中*/head=s;elser-next=s;r=s;else fp=fopen(people.txt,w); /*不能打开另开辟一个文件*/i=1;void Show() /*显示所有的信息*/ p1=head;while(p1!=NULL) printf(nntname:%sn,p1-name);printf(nntaddr:%s,p1-addr);printf(nntphnum:%s,p1-phnum);p1=p1-next;void Delete() /*定义一个删除的函数*/ printf(nntplease input the name:);gets(name1); /*输入要删除人的姓名*/p4=head;if(scmp(p4-name,name1)=0) p4=p4-next; /*根据各种情况判断可能性*/head=p4;else while(scmp(p4-next-name,name1)!=0)p4=p4-next;p5=p4-next;p4-next=p5-next;free(p5);void Find() /*查找的函数定义*/ printf(nntplease input the name:);p0=head;gets(name1); /*查找人的姓名输入*/while(scmp(name1,p0-name)!=0&p0!=NULL)p0=p0-next;if(p0=NULL)printf(nntIt is not exit in the addr-book!);else printf(nntname:%sn,p0-name);printf(nntaddr:%s,p0-addr);printf(nntphnum:%s,p0-phnum);void Input() /*向通讯录中输入一个人的信息*/ s=(linklist)malloc(sizeof(listnode);printf(nntplease input the sbs meg:);printf(nnttname:);scanf(%s,s-name);printf(nnttAddr:);scanf(%s,s-addr);printf(nnttphnum:);scanf(%s,s-phnum);if(head=NULL)head=s;elser-next=s;r=s;void Alter() /*改变一个人的信息*/int j;printf(nntPlease input the name:);gets(name1); /*输入要人的姓名*/p3=head;while(scmp(name1,p3-name)!=0&p3!=NULL)p3=p3-next;if(p3=NULL)printf(nntIt is not exit in the addr-book!);else printf(nntplease input the new meg!); /*输入要改人的新信息*/printf(nnttname:); scanf(%s,name1);scpy(p3-name,name1);printf(nnttAddr:);scanf(%s,name1);scpy(p3-addr,name1);printf(nnttphnum:);scanf(%s,name1);scpy(p3-phnum,name1);void Save() /*保存信息*/ int j;fp=fopen(people.txt,w);for(p2=head,j=0;p2!=NULL;j ,p2=p2-next)/*将信息装出入结构体数组在出入链表中*/ /*避免地址的出入,造成乱码文件*/scpy(,p2-name);scpy(personsj.addr,p2-addr);scpy(personsj.phnum,p2-phnum);fwrite(&personsj,sizeof(suct persons),1,fp);void main() creat();do printf(nnnntWELCOME TO USE Pan Weifengs Address book);/*显示提示的信息*/printf(nnttPlease make a choice below:);printf(ntt1.Show all the meg);printf(ntt2.Delete a piece of meg);printf(ntt3.Find a piece of meg);printf(ntt4.Insert a piece of meg);printf(ntt5.Alter a piece of meg);printf(ntt6.Save and Exit);printf(nnn);printf(tInput Your Choice:);ch=getche();switch(ch) case 1: Show(); /*用单条件多选择语句实现调用与循环*/break;case 2: Delete();break;case 3: Find();break;case 4: Input();break;case 5: Alter();break;case 6: Save();fclose(fp);exit(0);break;default:printf(nt*n);printf(nt The num should 1-4! n);printf(nt*);break;while(1);图书管理#include#include#include#include#include#define STACK_INIT_SIZE 10#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0suct student /*定义学生类型,用于存放借出的书籍*/int carnum;char lendbook10;student1000;suct employ /*定义职工类型*/int employnum;char employname15;int employage;char employsex2;char employleve10;long int employtage;employ50;suct book /*定义书的类型*/int booknum;char bookname10;char bookcreat10;int turefalse; /*用于借书和还书模块判断一本书是否借出的条件*/book1000;suct car /*借书卡的数据类型*/int carnum;char studentname10;int studentclass;car100;huanbook() /*还书函数*/FILE *fp,*fp2; /*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/int i,n;int carnum;char lendbook10;printf(请你输入你的卡号n);scanf(%d,&carnum);fp=fopen(car.txt,r); /*读取卡号记录*/for(i=0;fread(&cari,sizeof(suct car),1,fp)!=0;i ) /*for循环判断卡号是否存在*/if(cari.carnum=carnum) /*卡号存在,进入下一循环*/n=i;fclose(fp);printf(请输入你要还的书的名字n);scanf(%s,lendbook);fp=fopen(record.txt,r);for(i=0;fread(&studenti,sizeof(suct student),1,fp)!=0;i ) /*判断是否借阅了输入的书*/if(scmp(studenti.lendbook,lendbook)=0) /*借阅了该书,进入下一循环,否则出错显示*/fclose(fp);fp=fopen(record.txt,r);fp2=fopen(bookl.txt,w);for(i=0;fread(&studenti,sizeof(suct student),1,fp)!=0;i )if(scmp(studenti.lendbook,lendbook)=0)continue; /*删除还掉的书的借书记录*/fwrite(&studenti,sizeof(suct student),1,fp2); /*写入原来没还的书的记录*/fclose(fp);fclose(fp2);fp=fopen(record.txt,w);fp2=fopen(bookl.txt,r);for(i=0;fread(&studenti,sizeof(suct student),1,fp2)!=0;i )fwrite(&studenti,sizeof(suct student),1,fp); /*将借书记录信息写回*/fclose(fp);fclose(fp2);fopen(bookl.txt,w); /*清临时文件的记录*/fclose(fp2);fp=fopen(book.txt,r);fp2=fopen(bookl.txt,w);for(i=0;fread(&booki,sizeof(suct book),1,fp)!=0;i ) /*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/if(i=n)booki.turefalse=1;fwrite(&booki,sizeof(suct book),1,fp2); /*将还的书的原来状态设为无人借阅的*/ continue;fwrite(&booki,sizeof(suct book),1,fp2);fclose(fp);fclose(fp2);fp=fopen(book.txt,w);fp2=fopen(bookl.txt,r);for(i=0;fread(&booki,sizeof(suct book),1,fp2)!=0;i )fwrite(&booki,sizeof(suct book),1,fp); /*将临时文件写回*/fclose(fp);fclose(fp2);fopen(bookl.txt,w); /*清临时文件*/fclose(fp2);printf(还书完毕,按任意键返回n);getch();return;printf(你没有借这样的书,不要耍我,任意键返回n); /*出错提示*/fclose(fp);getch();return;printf(系统没这样的卡,和管理员联系,按任意键返回n); /*出错提示*/fclose(fp);getch();lendcount() /*其他的自己看就懂了,不行也可以qq联系:258032791,c 版本要的话跟我说,愿意交爱好编程的交友,毕业没时间了,找工作忙,有些模块没写,发现什么问题自己改,*/FILE *fp;int i,n=0;fp=fopen(record.txt,r);for(i=0;fread(&studenti,sizeof(suct student),1,fp)!=0;i )printf(卡号:%d 借出的书籍:%s n,studenti.carnum,studenti.lendbook);n=n 1;fclose(fp);printf(目前共有%d本书借出n,n);printf(按任意键n);getch();chabook()char ch5;doprintf(-欢迎进入图书查询系统!-n);printf( 1:n);printf( 2:n);printf( 0:n);printf(请输入0-2,其他输入非法!n);scanf(%s,&ch5);switch(ch5)case 1:findbook();getch();break;case 2:printf(按作者查找,有时间再写n);getch();break;case 0:break;default:printf(无此操作n);getch();break;while(ch5!=0);lendbook()FILE *fp,*fp2;int i,n;int carnum;printf(请你输入你的卡号n);scanf(%d,&carnum);fp=fopen(car.txt,r);for(i=0;fread(&cari,sizeof(suct car),1,fp)!=0;i )if(cari.carnum=carnum)n=i;fclose(fp);printf(请输入你要借阅的书的名字n);scanf(%s,studentn.lendbook);fp=fopen(book.txt,r);for(i=0;fread(&booki,sizeof(suct book),1,fp)!=0;i )if(scmp(booki.bookname,studentn.lendbook)=0)if(booki.turefalse=0) printf(对不起,此书有人借出,请借其他书n);fclose(fp);getch();return;else fclose(fp);fp=fopen(record.txt,a );studentn.carnum=carnum;fwrite(&studentn,sizeof(suct student),1,fp);fclose(fp);fp=fopen(book.txt,r);fp2=fopen(bookl.txt,w);for(i=0;fread(&booki,sizeof(suct book),1,fp)!=0;i )if(scmp(booki.bookname,studentn.lendbook)=0)booki.turefalse=0;fwrite(&booki,sizeof(suct book),1,fp2);continue;fwrite(&booki,sizeof(suct book),1,fp2);fclose(fp);fclose(fp2);fp=fopen(book.txt,w);fp2=fopen(bookl.txt,r);for(i=0;fread(&booki,sizeof(suct book),1,fp2)!=0;i )fwrite(&booki,sizeof(suct book),1,fp);fclose(fp);fclose(fp2);fopen(bookl.txt,w);fclose(fp2);printf(借书完毕,按任意键返回n);getch();return;printf(不存在这样的书,任意键返回n);fclose(fp);getch();return;printf(你的卡号不存在,请申请新卡,按任意键返回n);fclose(fp);getch();carcount()FILE *fp;int i,n=0;fp=fopen(car.txt,r);for(i=0;fread(&cari,sizeof(suct car),1,fp)!=0;i )printf(第%d张卡n,i 1,cari.carnum,cari.studentname,cari.studentclass);n=n 1;fclose(fp);printf(目前共有%d本书n,n);printf(按任意键n);getch();delcar()FILE *fp,*fp2;int i;int carnum;char choice;fp=fopen(car.txt,r);fp2=fopen(bookl.txt,w);printf(请输入你要删除的卡号n);printf(如果你输入的卡号存在,系统自动删除该信息!如果不存在,系统不做任何改动n);scanf(%d,&carnum);for(i=0;fread(&cari,sizeof(suct car),1,fp)!=0;i )if(cari.carnum!=carnum)fwrite(&cari,sizeof(suct car),1,fp2);fclose(fp);fclose(fp2);printf(是否真的要删除该卡?删除后该书籍的所有信息将无法恢复Y/Nn);scanf(%s,&choice);if(choice=y|choice=Y)fp=fopen(car.txt,w);fp2=fopen(bookl.txt,r);for(i=0;fread(&cari,sizeof(suct car),1,fp2)!=0;i )fwrite(&cari,sizeof(suct car),1,fp);fclose(fp);fclose(fp2);fp2=fopen(bookl.txt,w);fclose(fp2);printf(按任意键返回n);getch();return;elseprintf(按任意键返回n);getch();return;addcar()FILE *fp;int i=0;fp=fopen(car.txt,a );printf(请你输入卡号n);scanf(%d,&cari.carnum);printf(请你输入学生姓名n);scanf(%s,cari.studentname);printf(请你输入班级n);scanf(%d,&cari.studentclass);fwrite(&cari,sizeof(suct car),1,fp);fclose(fp);printf(输入完毕,任意键返回n);getch();changemploy()FILE *fp,*fp2;char employname10,choice;int i;fp=fopen(employ.txt,r);fp2=fopen(bookl.txt,w);printf(请你输入要修改的职工的书字n);scanf(%s,employname);for(i=0;fread(&employi,sizeof(suct employ),1,fp)!=0;i )if(scmp(employi.employname,employname)=0)printf(你所要修改的职工的资料如下,请选择你要修改的内容n);printf(n,employi.employnum,employi.employname,employi.employage,employi.employsex,employi.employleve,employi.employtage);printf(1:修改职工的号n);printf(2:修改职工名n);printf(3:修改职工年龄n);printf(4:修改职工工资n);printf(5:修改职工学历n);printf(请输入1-5:);scanf(%s,&choice);switch(choice)case 1:printf(请输入新的职工号n);scanf(%d,&employi.employnum);fwrite(&employi,sizeof(suct employ),1,fp2);break;case 2:printf(请输入新的职工姓名n);scanf(%s,employi.employname);fwrite(&employi,sizeof(suct employ),1,fp2);break;case 3:printf(请输入新的年龄n);scanf(%d,&employi.employage);fwrite(&employi,sizeof(suct employ),1,fp2);break;case 4:printf(请输入新的职工工资n);scanf(%d,&employi.employtage);fwrite(&employi,sizeof(suct employ),1,fp2);break;case 5:printf(请输入新的职工学历n);scanf(%s,employi.employleve);fwrite(&employi,sizeof(suct employ),1,fp2);defaut:printf(没有这样的操作);break;continue;fwrite(&employi,sizeof(suct employ),1,fp2);fclose(fp);fclose(fp2);fp=fopen(employ.txt,w);fp2=fopen(bookl.txt,r);for(i=0;fread(&employi,sizeof(suct employ),1,fp2)!=0;i )fwrite(&employi,sizeof(suct employ),1,fp);fclose(fp);fclose(fp2);fp2=fopen(bookl.txt,w);fclose(fp2);printf(按任意键返回n);getchar();return;delemploy()FILE *fp,*fp2;int i;char employname10,choice;fp=fopen(employ.txt,r);fp2=fopen(bookl.txt,w);printf(请输入你要删除的职工名n);printf(如果你输入的职工存在,系统自动删除该信息!如果不存在,系统不做任何改动n);scanf(%s,employname);for(i=0;fread(&employi,sizeof(suct employ),1,fp)!=0;i )if(scmp(employname,employi.employname)!=0)fwrite(&employi,sizeof(suct employ),1,fp2);fclose(fp);fclose(fp2);printf(是否真的要删除该职工信息?删除后的所有信息将无法恢复Y/Nn);scanf(%s,&choice);if(choice=y|choice=Y)fp=fopen(employ.txt,w);fp2=fopen(bookl.txt,r);for(i=0;fread(&employi,sizeof(suct employ),1,fp2)!=0;i )fwrite(&employi,sizeof(suct employ),1,fp);fclose(fp);fclose(fp2);fp2=fopen(bookl.txt,w);fclose(fp2);printf(按任意键返回n);getch();return;elseprintf(按任意键返回n);getch();return;employcount()FILE *fp;int i,n=0;fp=fopen(employ.txt,r);for(i=0;fread(&employi,sizeof(suct employ),1,fp)!=0;i )printf(第%d职工的信息如下:nn,n 1,employi.employnum,employi.employname,employi.employage,employi.employsex,employi.employleve,employi.employtage);n ;fclose(fp);printf(目前共有%d个职工n,n);printf(按任意键返回);addemploy()FILE *fp;char choice=y;int i=1;fp=fopen(employ.txt,a );while(choice=y|choice=Y)printf(请你输入职工号码n);scanf(%d,&employi.employnum);printf(请你输入职工名n); scanf(%s,employi.employname);printf(请输入职工年龄n);scanf(%d,&employi.employage);printf(请你输入性别n);scanf(%s,employi.employsex); printf(请你输入职工的学历水平n); scanf(%s,employi.employleve);printf(请输入职工的工资n);scanf(%d,&employi.employtage);fwrite(&employi,sizeof(suct employ),1,fp);printf(是否要输入下个职工信息?n);scanf(%s,&choice);printf(按任意键返回n);fclose(fp);addbook()FILE *fp;int i=0;char choice=y;fp=fopen(book.txt,a );while(choice=y|choice=Y)printf(请你输入第%d本书的序号n,i 1);scanf(%d,&booki.booknum);printf(请你输入书名n);scanf(%s,booki.bookname);printf(请你输入书的作者n);scanf(%s,booki.bookcreat);printf(请设为1或0,1代表书还没人借,0表示书已经借出,设其他值,程序运行时无法得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 4.1水资源及其利用说课稿-2024-2025学年九年级化学人教版(2024)上册
- 月经护理知识培训
- 三年级信息技术上册 第3课 认识计算机系统说课稿 (新版)苏科版
- 动力中心建筑方案设计(3篇)
- 大班建筑教具比赛方案设计(3篇)
- 【特种作业取证考试】高处作业模拟考试试题(3套)
- 法式建筑婚纱调色方案设计(3篇)
- 现场总线网络建模与仿真
- 2025年学历类自考专业(护理)儿科护理学(一)-预防医学(二)参考题库含答案解析(5套)
- 月子中心早教课件
- 《材料力学》说课-课件
- 物资采购付款报销单
- 飞灰螯合物运输服务方案
- (完整版)沪教牛津版小学一至六年级英语单词汇总(最新)
- JJF 1587-2016 数字多用表校准规范-(高清现行)
- 完整课件-西方经济学下册(第二版)
- 机械制图教学通用课件(全套)
- 钢化玻璃标准
- 天星择日的基本原理
- 球阀自动泄压计算
- 期权从业考试题含答案84分
评论
0/150
提交评论