返回
认识实习心得

认识实习心得

时间:2013-8-2 7:00:45  [下载该文章]  [会员注册]
实习地点:河南新乡经济开发区参观企业:河南太行振动有限公司,新乡华洋漆包线有限公司,河南豫通电机有限公司学习的最终目的就是应用,只有将学习的理论知识与生活实践相联系,将学习的理论知识运用到社会实践中,学习才能达到最终目的。学院一直以来注重实践,提倡实践,也努力创造机会、提供机会给学生们参与到实践中去,因此,学院这次例行为我们组织了到企业参观实习。感谢学院的领导老师们的“精心安排”,让我们能够提早去了解企业,了解社会。整个参观过程,工作人员都以一种积极的态度耐心详细地向我们介绍每一个生产步骤,对于同学们提出的问题耐心解答。从他的工作态度,我们也可以窥视到整个企业的工作作风,即积极向上、严谨认真。这次实习,虽然看似只是简单的参观,但它对于一个人的认识却起到了很大的作用。它开阔了我们的视野,让我们对事物有了更加具体的认识。通过理论知识的学习,我们了解的往往只是一个模糊的概念,很难对事物本身有一个清晰的认识和具体的了解,而实践才能让我们看清事物本身。通过这次实习,我切实体会了企业生产的流程,认识到了如何将课本学到的理论知识应用于实践。看着车间的那些大机器,听着工作人员介绍它们的作用,才发觉理论与实际确实还是有很大差距,让我更加清楚实践的重要意义,从而注重实践。在车间看到工人们严谨细微的工作,虽然辛苦却一直坚持着的精神,我感受到作为一个社会人应具备的基本素质。通过实习,我们才能更加明白学校与社会的不同,才能为以后进入社会作好一个心理准备。透过工人们辛苦的工作,我们可以看见,社会的竞争是激烈的,进入社会后的压力可能是在学校学习时无法估计,因此,实习也让我们树立起不断学习,努力学习的信念。并且,要寻找机会参与社会实践,在社会大学里将理论转化为实际行动,作一个社会接受容纳的人。通过实践,我们才能更好地培养自己吃苦耐劳的能力,才能更加懂得如何做人,提高交际能力,办事能力。理论与实践都是发展的双翅,理论脱离不开实践,实践要靠理论指导。实习是教学的重要环节,是学生理论联系实际的重要课堂。学院组织这次实习,让我们以一种辩证的观点对待理论与实践。只注重理论知识,只懂得“纸上谈兵”,永远上不了真正的“战场”,即使真上了战场,也会不堪一击。当今社会,竞争越来越激烈,实践动手能力也受到越来越多的重视。因此,在学好专业知识的基础上,多参加实习,将所学的理论知识与实际活动联系起来,提高分析、解决实际问题的能力,才能为自己将来在社会中占有一席之地打下基础,才能为自己的进一步发展创造条件。总之,这次实习,让我认识到了实践的重要性,进一步巩固和加深了所学的理论知识,也让我树立起不断学习,不断实践,不断将理论与实际联系的目标,以后会把握每一次参加实习的机会,自己也会寻找实习的机会。人所遇到的每一段经历都是弥足珍贵,就象即将远离我们的校园生活,很多人却没有很好的把握,若干年之后,同学聚会,方才发觉,此时原本占在同一起跑线上的我们,已然在人生的路上拉开了距离。认识实习心得实验1(2学时)输入4个整数/字符串,按从小到大的顺序输出;输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①输入10个数;②进行处理;③输出10个数。实验过程:先定义一个整型数组和指针,输入4个整型数,将数组赋给指针,然后进行调用排序函数,用选择法进行排序结束后,在主函数中输出得到重新排序后的数组。源代码:includeiostreamusingnamespacestdvoidsort(inta,intn)inti,j,k,tfor(i=0in1i++)k=ifor(j=i+1jnj++)if(a[k]a[j])k=jif(k!=i)t=a[i]a[i]=a[k]a[k]=tintmainintp,i,a[4]coutinputfourintegernumbers:endlfor(i=0i4i++)cin(a+i)p=asort(p,4)coutthesortednumbersare:endlfor(p=apa+4p++)coutpcoutendlreturn0实验结果:实验过程:用一个getdata函数将数组输入,其中运用指针;用findchange函数实现在数组中对于最大数和最小数的查找并将最大数和数组最后一个数进行交换,最小数和数组第一个数进行交换;用output函数,利用指针将经过处理后的指针输出;源代码:includeiostreamusingnamespacestdvoiindout(inta[100],intn)inti,k,m,pk=0m=0p=afor(i=0ini++)(p+i)=i+1i=0while(mn1)if((p+i)!=0)k++if(k3)(p+i)=0k=0m++i++if(in)i=0while(p0)p++coutpendlintmaininta[100],ncoutinputthenumberofpeople:endlcinncoutthelastoneis:findout(a,n)return0实验结果:实验2(2学时)有n个人围成一圈,顺序排号。从第1个人开始报数(丛1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。实验过程:先确定有几个人,输入n;然后再调用函数findout(a,n);再函数中实现将n个人顺次编号,然后开始报数(13);如果报数为3,则此人标记为0,k=0,即重新开始一轮报数,并m++,实现对已经退出人数的统计,当m=n1时,即为最后一个人,将其输出,得到最后一位的原来所在编号。源代码:includeiostreamusingnamespacestdvoiindout(inta[100],intn)inti,k,m,pk=0m=0p=afor(i=0ini++)(p+i)=i+1i=0while(mn1)if((p+i)!=0)k++if(k3)(p+i)=0k=0m++i++if(in)i=0while(p0)p++coutpendlintmaininta[100],ncoutinputthenumberofpeople:endlcinncoutthelastoneis:findout(a,n)return0实验结果:实验3(2学时)将一个55的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下,依次从小到大存放),写一个函数实现之。用main函数调用。实验过程:首先definen3,在主函数中输入矩阵,定义一个指针p,然后调用sort(p);在函数中实现最大值,和四个小值的查找,然后在根据地址数值将其值进行互换,实现题目中所要求,最后在主函数中将经过处理后的矩阵输出。源代码:includeiostreamusingnamespacestdvoidsort(inta[100],intn)inttempinti,j,kfor(i=0ini++)k=ifor(j=i+1jnj++)if(a[k]a[j])k=jif(k!=i)temp=a[i]a[i]=a[k]a[k]=tempintmaininta[100],i,n,p,a[100]coutinputthenumbern:endlcinncoutinputnintegernumbers:endlfor(i=0ini++)cina[i]a[i]=ampa[i]p=acoutthesortednumbersare:endlsort(p,n)for(p=apa+np++)coutpendlreturn0实验结果:实验4(2学时)用指向指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出。实验过程:从主函数中定义一个数组,一个存放其地址的二维数组,和一个指向指针的指针变量,在函数sort中用选择法通过地址进行排序,然后在主函数中输出经过重新排序的数组,得到从小到大的排序整数。源代码:includeiostreamusingnamespacestddefinen3voidsort(intp)intmin,ma,temp,t1,t2,t3,t4inti,jmin=pma=pfor(i=0ini++)for(j=0jnj++)if(min(p+in+j))min=p+in+jif(ma(p+in+j))ma=p+in+jt1=(nn1)/2temp=mama=(p+t1)(p+t1)=temptemp=minmin=pp=tempmin=p+1for(i=0ini++)for(j=0jnj++)if(((p+in+j)!=p)ampamp((p+in+j)min))min=p+in+jt2=n1temp=minmin=(p+t2)(p+t2)=tempmin=p+1for(i=0ini++)for(j=0jnj++)if(((p+in+j)!=p)ampamp((p+in+j)!=p+t2)ampamp((p+in+j)min))min=p+in+jt3=n(n1)temp=(p+t3)(p+t3)=minmin=tempmin=p+1for(i=0ini++)for(j=0jnj++)if(((p+in+j)!=p)ampamp((p+in+j)!=p+t2)ampamp((p+in+j)!=p+t3)ampamp((p+in+j)min))min=p+in+jt4=nn1temp=minmin=(p+t4)(p+t4)=tempintmaininta[n][n],i,j,pcoutinputnnintegernumbers:endlfor(i=0ini++)for(j=0jnj++)cina[i][j]p=ampa[0][0]sort(p)coutthesortedintegernumbersare:endlfor(p=a[0]pa[0]+(nn)p++)if((pa[0])%n0)coutendlcoutpcoutendlreturn0实验结果:实验5(2学时)有一个班有4个学生,5门课程。①求第一门课程的平均分;②找出有2门以上课程不及格的学生,输出他们的学号和全部课程成绩以及平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3个函数实现以上3个要求。实验过程:先宏定义n,m,定义一个student的结构体,然后又结构体指针,在主函数中输入id,scores,调用函数average,实现第一个学科的平均分;然后调用findfail(structstup)和findsus(structstup)函数分别实现两科不及格学生信息的输出,全部成绩在85分以上或者平均成绩在90分以上的学生的信息输出,最后实现题目的所有要求。源代码:includeiostreamusingnamespacestddefinen3definem5structstuintidfloatscore[m]floatavevoidaverage(structstup)intifloata=0.0for(i=0ini++)a+=p[i].score[0]a=a/ncoutaendlvoiindfail(structstup)inti,j,n,kfloattotalfor(i=0ini++)k=0total=0.0for(j=0jmj++)total+=p[i].score[j]p[i].ave=total/mfor(j=0jmj++)if((p[i].score[j])60)k++if(k2)n=icout(p+n)idfor(j=0jmj++)cout(p+n)score[j]cout(p+n)aveendlvoiindsus(structstup)inti,j,n,kfor(i=0ini++)k=0for(j=0jmj++)if(p[i].score[j]85)k++if(kmp[i].ave90)n=icout(p+n)idfor(j=0jmj++)cout(p+n)score[j]cout(p+n)aveendlintmainstructstus[n]structstupinti,=scoutinputstudentsdatas:endlfor(i=0ini++)coutinputi+1studentsid:endlcinp[i].idprintf(input%dstudentsscores:\n,i+1)for(j=0jmj++)cinp[i].score[j]coutthefirstsubjectscoreaverageis:endlp=saverage(p)coutthestudentswhofailedmorethantwosubjectsare:endlp=sfindfail(p)coutthestudentswhoallscoreshigherthan85oraveragehigherthan90are:endlp=sfindsus(p)return0实验结果:实验6(2学时)输入一个字符串,内有数字和非数字字符,例如:a12345617960?302tab5790将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]x统计共有多少个整数,并输出这些数。实验过程:定义一个字符型数组,一个整型数组,在主函数中输入字符串,调用函数charge;运用指针,当p中字符为数字时,将字符型数字转化为整型数字,然后判断他是否为连续的数字组合,如果是则将其转化为整型然后保存在q中,并进行个数的记录,返回主函数,然后将整型数组输出。源代码:includeiostreamusingnamespacestdintcharge(intq,charp)intn=0for(p!=\0p++)if(p=0ampampp=9)q=(p)0p++while(p=0ampampp=9)q=(q)10+((p)0)p++q++n++returnnintmaininta[50],i,ncharb[50]coutinputyoursentence:endlcinbn=charge(a,b)couttheresuare:endlfor(i=0ini++)couta[i]=a[i]coutendlreturn0实验结果:实验7(2学时)编一个程序,输入月份号,输出该月的英文月名。例如,输入“3”,则输出“march”,要求用指针数组处理。实验过程:定义一个指针数组用来存放12个月的英文月名,然后从键盘中输入月份n,通过指针查找到n1月份名,然后输出。源代码:includestdio.hincludestdlib.hincludestring.hdefinen2structemployeecharname[30]intnumcharseintagecharaddr[50]floatsacharheal[30]charedu[30]e[n]structempcharname[30]floatsaemp[n]intmaincharfilename[30],finame[30]intifilefp,fp1,fp2printf(inputtheinformationincluding:name,num,se,age,address,salary,heahycondition,educationcalss:\n)for(i=0ini++)scanf(%s%d%c%d%s%f%s%s,e[i].name,ampe[i].num,ampe[i].se,ampe[i].age,e[i].addr,ampe[i].sa,e[i].heal,e[i].edu)getcharprintf(inputthefilesname:\n)scanf(%s,filename)if((fp=fopen(filename,w))null)printf(cannotopenthefile!\n)eit(0)for(i=0ini++)if(fwrite(ampe[i],sizeof(structemployee),1,fp)!=1)printf(error!\n)fclose(fp)if((fp1=fopen(filename,r))null)printf(cannotopenthefile!\n)eit(0)for(i=0fread(ampe[i],sizeof(structemployee),1,fp1)!=0i++)printf(%s%d%c%d%s%5.2f%s%s\n,e[i].name,e[i].num,e[i].se,e[i].age,e[i].addr,e[i].sa,e[i].heal,e[i].edu)strcpy(emp[i].name,e[i].name)emp[i].sa=e[i].saprintf(\ninputthefilesname:\n)scanf(%s,finame)if((fp2=fopen(finame,w))null)printf(cannotopenthefile!\n)eit(0)for(i=0ini++)if((fwrite(ampemp[i],sizeof(structemp),1,fp2))!=1)printf(error!\n)printf(\n%s%.2f\n,emp[i].name,emp[i].sa)fclose(fp1)fclose(fp2)charname[20]filefp3intj,s,flagprintf(inputthepersonsnamethatyouwanttodelete:\n)scanf(%s,name)s=nfor(flag=1,i=0flagampampini++)if(strcmp(name,emp[i].name)0)for(j=ijn1j++)strcpy(emp[j].name,emp[j+1].name)emp[j].sa=emp[j+1].saflag=0if(!flag)s=n1elseprintf(cannotfindtheperson!\n)printf(\nthefilescontent:\n)fp3=fopen(finame,wb)for(i=0isi++)fwrite(ampemp[i],sizeof(structemp),1,fp3)fclose(fp3)fp=fopen(finame,r)for(i=0fread(ampemp[i],sizeof(structemp),1,fp3)!=0i++)printf(\n%s%.2f\n,emp[i].name,emp[i].sa)fclose(fp3)return0实验结果:实验8(2学时)在主函数中输入10个等长的字符串,用另一个函数对它们排序,然后在主函数输出这10个已排好序的字符串。实验过程:定义char,string型字符数组,从主函数中输入所要输入的字符串个数,通过gets获的字符串,然后将其赋给string,然后用指针型字符,通过调用函数将输入的字符串进行排序,在主函数中输出排序后的字符串。源代码:includeiostreamincludestringusingnamespacestdvoidsort(strings,intn)inti,jstrinempfor(i=0ini++)for(j=0jnj++)if((s+i)(s+j))temp=(s+i)(s+i)=(s+j)(s+j)=tempintmainstrings[50],pcharstr[100]inti,ncoutinputhowmanystringsyouwanttosort:endlcinncoutinputnstringsofequallenh:endlgets(str)for(i=0ini++)gets(str)s[i]=strp=ssort(s,n)coutendlcoutthesortedstringsare:endlcoutendlfor(i=0ini++)cout(p+i)endlsystem(pause)return0实验结果:实验9(2学时)①用指向指针的方法对5个字符串排序并输出。实验过程:在主函数中输入要进行整理的字符串数目,然后输入相应的字符串,调用指向指针的函数,对输入的字符串进行排序,然后再主函数中将经过排序后的字符串输出。源代码:includeiostreamincludestringusingnamespacestdvoidsort(charp,intn)inti,jchartempfor(i=0ini++)for(j=0jnj++)if((p+i)(p+j))temp=(p+i)(p+i)=(p+j)(p+j)=tempintmainchars[50],p,str[50][100]inti,ncoutinputhowmanystringsyouwanttosort:endlcinncoutinputnstringsofequallenh:endlgetcharfor(i=0ini++)gets(str[i])s[i]=str[i]p=ssort(p,n)coutendlcoutthesortedstringsare:endlcoutendlfor(i=0ini++)cout(p+i)endlsystem(pause)return0实验结果:②②输入一行文字,找出其中的大写字母、小写字母、空格、数字以及其他字符各有多少。实验过程:通过主函数中定义相关的字符串数组,输入需要进行排序的字符串,确定要调用dealstr函数的次数,在调用的函数中实现对于数字,大写字母,小写字母,空格,其他字符的判断,然后进行统计,在主函数中分别输出。源代码:includeiostreamincludestringusingnamespacestdvoiddealstr(chars[50])intln=strlen(s)charpp=sinti=0,dig=0,lit=0,big=0,sp=0,oth=0while(iln)if((p+i)=0ampamp(p+i)=9)dig++elseif((p+i)=mpamp(p+i)=z)lit++elseif((p+i)=mpamp(p+i)=z)big++elseif((p+i))sp++elseoth++i++coutdigitalnumberis:digendlcoutlittlelettersnumberis:litbiglettersnumberis:bigendlcoutspacenumberis:spendlcoutotherlettersnumberis:othendlintmainintn,icharstr[20][50],s[50]coutinputhowmanystringsyouwanttodeal:endlcinncoutinputnstrings:endlgetcharfor(i=0ini++)gets(str[i])s[i]=str[i]for(i=0ini++)coutthei+1stringresuare:endldealstr(s[i])coutendlreturn0实验结果:实验10(2学时)从键盘输入若干行字符(每行长度不等),输入后把它们存储到一磁盘文件中。再从该文件中读入这些数据,将其中小写字母转换成大写字母后在显示屏上输出。实验过程:从键盘中输入要进行保存的字符串个数,定义足够的字符串数组,用来接收所输入的字符串。从键盘中输入文件的名称,判断能否成功创建新的文件,如果可以则利用指针将其中的字符一个个输入到文件中,关闭文件;用读的方式打开文件,如果可以成功打开则读取字符,然后通过strupr函数功能将小写字母转化为大写字母,然后输出。源代码:includestdio.hincludestdlib.hincludestring.hintmainfilefpintn,icharstr[20][50],p,filename[20]printf(\ninputyourfilesname:\n)gets(filename)if((fp=fopen(filename,wb))null)printf(falureincreatinhefile!\n)eit(0)printf(enterhowmanystringsyouwanttoorder:\n)scanf(%d,ampn)printf(\nenteryourstrings:\n)getcharfor(i=0ini++)gets(str[i])p=str[i]while(p!=\0)fputc(p,fp)p++fclose(fp)if((fp=fopen(filename,rb))null)printf(cannotopenthefile!\n)eit(0)char(s)[50]for(s=strsstr+ns++)strupr(s)printf(theresuare:\n)for(s=strsstr+ns++)printf(%s\n,s)printf(\n)fclose(fp)return0实验结果:实验11(2学时)写一个用矩形法求定积分的通用函数,分别求正弦,余弦和自然对数幂函数的定积分。,,其中:sin,cos,ep函数已在系统的数学函数库中,程序开头要用includemath.h。(提示1.用指向函数的指针实现通用函数)2.矩阵法求定积分for(=ab+=step)sum+=step(p)其中a为积分下限,b为积分上限,step为输入步长,sum为积分结果)实验过程:在主函数中输出3个常用函数,然后进行选择计算的函数类型,通过调用指向函数的doubleintegral(doublea,doubleb,double(p)(double))指针实现函数值的计算,分别有3个函数doublefun1(double)doublefun2(double)doublefun3(double)来返回函数的值returnsinreturncosreturnep,通过矩阵法求定积分。源代码:includestdio.hincludemath.hdoublefun1(double)returnsindoublefun2(double)returncosdoublefun3(double)returnepdoubleintegral(doublea,doubleb,double(p)(double))doublestep=(ba)/10000double,sum=0.0for(=ab+=step)sum+=step(p)returnsumintmaindoublea,b,sum,(p)(double)intnprintf(\n1.sin\n2.cos\n3.ep\n)printf(inputyourchoice:\n)scanf(%d,ampn)switch(n)case1:p=fun1breakcase2:p=fun2breakcase3:p=fun3breakprintf(inputthelowerlimit:\n)scanf(%lf,ampa)printf(inputtheupperlimit:\n)scanf(%lf,ampb)sum=integral(a,b,p)printf(%unctiondefiniteintegralbetween(%.2lf%.2lf)sresuis%lf\n,n,a,b,sum)return0实验结果:实验12(2学时)有一个磁盘文件“employee”,内存放职工的数据,每个职工的数据包括职工姓名、职工号、性别、年龄、住址、工资、健康状况、文化程度。①要求将职工名、工资的信息单独抽出来另建一个简明的职工工资文件。②从职工工资文件中删去一个职工的数据,再存回原文件。实验过程:首先定义struct来实现对于职工姓名,职工号,性别,年龄,住址,工资,健康状况,文化程度的存放,structemployeecharname[30]intnumcharseintagecharaddr[50]floatsacharheal[30]charedu[30]e[n]对于文件,确定文件能否成功打开,然后将信息输入,并进行存储;然后再利用emp来实现对于职工姓名和工资的存储,structempcharname[30]floatsaemp[n]确认文件成功打开后,if((fp=fopen(filename,w))null)printf(cannotopenthefile!\n)eit(0)在进行输入所要删除的姓名,利用头文件string实现职工姓名的查找,然后进行处理删除,if(strcmp(name,emp[i].name)0)for(j=ijn1j++)strcpy(emp[j].name,emp[j+1].name)emp[j].sa=emp[j+1].saflag=0将新的信息再次存储到文件中每次应该在文件访问结束后关闭文件,fclose(fp3)实现题目所求。源代码:includestdio.hincludestdlib.hincludestring.hdefinen2structemployeecharname[30]intnumcharseintagecharaddr[50]floatsacharheal[30]charedu[30]e[n]structempcharname[30]floatsaemp[n]intmaincharfilename[30],finame[30]intifilefp,fp1,fp2printf(inputtheinformationincluding:name,num,se,age,address,salary,heahycondition,educationcalss:\n)for(i=0ini++)scanf(%s%d%c%d%s%f%s%s,e[i].name,ampe[i].num,ampe[i].se,ampe[i].age,e[i].addr,ampe[i].sa,e[i].heal,e[i].edu)getcharprintf(inputthefilesname:\n)scanf(%s,filename)if((fp=fopen(filename,w))null)printf(cannotopenthefile!\n)eit(0)for(i=0ini++)if(fwrite(ampe[i],sizeof(structemployee),1,fp)!=1)printf(error!\n)fclose(fp)if((fp1=fopen(filename,r))null)printf(cannotopenthefile!\n)eit(0)for(i=0fread(ampe[i],sizeof(structemployee),1,fp1)!=0i++)printf(%s%d%c%d%s%5.2f%s%s\n,e[i].name,e[i].num,e[i].se,e[i].age,e[i].addr,e[i].sa,e[i].heal,e[i].edu)strcpy(emp[i].name,e[i].name)emp[i].sa=e[i].saprintf(\ninputthefilesname:\n)scanf(%s,finame)if((fp2=fopen(finame,w))null)printf(cannotopenthefile!\n)eit(0)for(i=0ini++)if((fwrite(ampemp[i],sizeof(structemp),1,fp2))!=1)printf(error!\n)printf(\n%s%.2f\n,emp[i].name,emp[i].sa)fclose(fp1)fclose(fp2)charname[20]filefp3intj,s,flagprintf(inputthepersonsnamethatyouwanttodelete:\n)scanf(%s,name)s=nfor(flag=1,i=0flagampampini++)if(strcmp(name,emp[i].name)0)for(j=ijn1j++)strcpy(emp[j].name,emp[j+1].name)emp[j].sa=emp[j+1].saflag=0if(!flag)s=n1elseprintf(cannotfindtheperson!\n)printf(\nthefilescontent:\n)fp3=fopen(finame,wb)for(i=0isi++)fwrite(ampemp[i],sizeof(structemp),1,fp3)fclose(fp3)fp=fopen(finame,r)for(i=0fread(ampemp[i],sizeof(structemp),1,fp3)!=0i++)printf(\n%s%.2f\n,emp[i].name,emp[i].sa)fclose(fp3)return0实验结果:13实验13(2学时)有两个磁盘文件“a”和“b”,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件“new”中。实验过程:在主函数中定义一个charc[100],filefp判断能否成功打开第一个文件,成功打开后,将a中的信息读出转存入c中,并记录其个数,关闭文件;再打开文件b,在成功打开后,将其中的信息续写如文件c中,关闭文件;调用charsort(charp,intn)实现将数组中的字母按照顺序排列;利用指针打开文件new,然后将c的信息存入文件;关闭文件。源代码:includestdio.hincludestdlib.hincludestring.hcharsort(charp,intn)inti,jchartempfor(i=0ini++)for(j=i+1jnj++)if((p+i)(p+j))temp=(p+i)(p+i)=(p+j)(p+j)=tempreturnpintmaininti,ncharc[100],chfilefpif((fp=fopen(str,r))null)printf(cannotopenthefile!\n)eit(0)printf(afilescontentsare:\n)for(i=0(ch=getc(fp))!=eofi++)c[i]=chputchar(c[i])fclose(fp)n=iif((fp=fopen(q,r))null)printf(cannotopenthefile!\n)eit(0)printf(\n)printf(bfilescontentsare:\n)for(i=n(ch=fgetc(fp))!=eofi++)c[i]=chputchar(c[i])fclose(fp)n=isort(c,n)if((fp=fopen(new,w))null)printf(cannotopenthefile!\n)eit(0)printf(\n)printf(theresuare:\n)for(i=0ini++)putc(c[i],fp)putchar(c[i])fclose(fp)printf(\n)return0.实验结果:实验14(2学时)有5个学生,每个学生有3门课程的成绩,从键盘输入学生数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。实验过程:定义一个structstudentintnumcharname[20]floatscore[3]floataveragestu[20]然后从键盘输入学生人数,利用循环将所有的信息数据输入,for(i=0ini++)scanf(%d%s%f%f%f,ampstu[i].num,stu[i].name,ampstu[i].score[0],ampstu[i].score[1],ampstu[i].score[2])然后分别算出average;for(i=0ini++)stu[i].average=((stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3)定义filefp判断文件能否成功打开,if((fp=fopen(d:\\stud.tt,w))null)printf(cannotopenthefile!\n)eit(0)如果打开就将处理好的数组存入文件中。关闭文件;以读的方式打开文件,if((fp=fopen(d:\\stud.tt,r))null)printf(cannotopenthefile!\n)eit(0)将文件中的信息输出到屏幕上,关闭文件。fclose(fp)源代码:includestdio.hincludestring.hincludestdlib.hstructstudentintnumcharname[20]floatscore[3]floataveragestu[20]intmainintn,iprintf(howmanystudentsinformationyouwanttoinput:\n)scanf(%d,ampn)printf(inputnum,name,threesubjectssscore:\n)for(i=0ini++)scanf(%d%s%f%f%f,ampstu[i].num,stu[i].name,ampstu[i].score[0],ampstu[i].score[1],ampstu[i].score[2])for(i=0ini++)stu[i].average=((stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3)filefpif((fp=fopen(d:\\stud.tt,w))null)printf(cannotopenthefile!\n)eit(0)for(i=0ini++)if((fwrite(ampstu[i],sizeof(structstudent),1,fp))!=1)printf(error!\n)fclose(fp)if((fp=fopen(d:\\stud.tt,r))null)printf(cannotopenthefile!\n)eit(0)printf(thefilescontents:\n)printf(numnames1s2s3aver)for(i=0fread(ampstu[i],sizeof(structstudent),1,fp)1i++)printf(\n%d%s%.2f%.2f%.2f%.2f\n,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].average)fclose(fp)return0实验结果:includestdio.h实验15(2学时)从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“t”中保存。输入的字符串以“!”结束。实验过程:定义一个chars[50]然后根据要求从键盘中输入一个字符串,以“!”结尾。利用循环当遇到“!”即字符串结束的标志,如果是小写字母就将其转换为大写字母;定义filefp并且判断能否正确打开文件;if((fp=fopen(t,w))null)printf(cannotopenthefile!\n)eit(0)将经过处理的字符串组存放到文件中,同时显示在屏幕上,完成题目所求。源代码:includestring.hincludestdlib.hintmainintichars[50]printf(inputasentenceendwith!\n)gets(s)for(i=0s[i]!=!i++)if(s[i]=mpamps[i]=z)s[i]=s[i]32filefpif((fp=fopen(t,w))null)printf(cannotopenthefile!\n)eit(0)for(i=0istrlen(s)i++)putc(s[i],fp)putchar(s[i])fclose(fp)return0实验结果:实验16(2学时)将实验13“stud”文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入一个新文件“sort”中。并且对“sort”文件进行插入处理。插入一个学生的3门课的成绩,程序先计算新插入学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。实验过程:定义结构体structstudentintnumcharname[20]floatscore[3]floataverstu[20],temp然后从键盘上输入需要输入的学生人数和相关信息,并计算每个学生的平均成绩;fp=fopen(stu,w)for(i=0ini++)if((fwrite(ampstu[i],sizeof(structstudent),1,fp))!=1)printf(error!\n)fclose(fp)保存到文件中,然后再从文件中读出来,for(i=0fread(ampstu[i],sizeof(structstudent),1,fp)!=0i++)printf(%d%s%.2f%.2f%.2f%.2f\n,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].aver)n=ifclose(fp)对于成绩按照平均分进行排序,for(i=0i=ni++)for(j=0jnj++)if(stu[i].averstu[j].aver)temp=stu[i]stu[i]=stu[j]stu[j]=temp把排序的学生信息存入到另外一个文件中;打开文件从中读出信息,然后从键盘输入需要插入的学生的信息,fp=fopen(new,w)for(i=0i=ni++)fwrite(ampstu[i],sizeof(structstudent),1,fp)fclose(fp)然后再保存到另外一个新的文件里,完成题目所求。实验结果:

>

相关推荐