下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx.请编写函数num(intm,intk,intxxロ)实现函数的要求,最后调用函数readwriteDAT。把结果输出到文件out.dat中。例如:若输入17,5,则应输出:19,23,29,31,37.注意:部分源程序已给出.请勿改动主函数main()和函数readwritcDAT()的内容.ー类型:素数.voidnum(intm,intk,intxx口)/・标准答案*/{intdata=m+l;inthalf,n=0,1;(half=data/2;for(I=2;Iく=half;1++)if(data%120)break;if(I>half){xx[n]=data;n++;}if(n>=k)break;data++:或者:voidnum(intm,intk,intxx[]){inti,j,s=0;for(i=m+1;k>0:i++){for(j=2;jくi;j++)if(i%j==0)break;/・注:素数为只能被自己和1整除的数.如果i%j等于(),说明i不是素数,跳出本层循环・/if(i==j){xx[s++]=i;k一;}})或者:voidnum(intm,intk,intxx[]){inti=0;for(m=m+1;k>0;m++)if(isP(m)){xx[i++]=m;k—;}}原程序如下:#include<conio.h>#include<stdio.h>voidreadwriteDAT();intisP(intm){inti;for(i=2;i<m;i++)if(m%i=0)return0;return1;Ivoidnum(intm,intk,intxxロ)mainO{intm,n,xx[lOOO];clrscr();printf(*XnPleaseentertwointegers:*)scanf(*%d,%d*,&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf(*%d*,xx[m]);printf("\n");readwriteDAT();system("pause");)voidreadwriteDAT(){intm,n,xx[1000],i;FILE*rf,*wf;rf=fopen(*in.dat","r");wf=fopen("out.dat*,"w");for(i=0;i<10;i++){fscanf(rf,"%d%d*,&m,&n);num(m,n,xx);for(m=0;m<n;m++)fprintf(wf,"%dxx[m]);fprintf(wf,"\n");}fclose(rf);fclose(wf);}2:已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中.请考生编制ー函数jsVal(),其功能是:如果四位数各位上的数字均是。或2或1或6或8,则统计出满足此条件的个数ent,并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到0しT.DAT文件中。注意:部分源程序存在文件PR()G1.C文件中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()和写函数writeDat()的内容voidjsVal()/・标准答案・/{intbb[4];intI,j,k,flag;for(I=0;K200;I++){bb[0]=a[11/1000;bb[l]=a[I]%1000/100;bb[2]=a[I]%100/10;bb[3]=a[I]%10;for(j=0;j<4;j++){if(bb[j]%2==0)flag=l;else{flag=0;break;})if(flag==l){b[cnt]=a[I];cnt++;}}for(1=0;I<cnt-1;1++)for(j=I+l;j<cnt;j++)if(b[I]<b[j]){k=b[I];b[I]=b[j];b[j]=k;})原程序如下:^include<stdio.h>^defineMAX200inta[MAX],b[MAX],ent=0;voidjsVal()voidreadDat(){inti;FILE*fp;fp=fopen(*in.dat","r");for(i=0;i<MAX;i++)fscanf(fpJ飞d”,&a[i]);fclose(fp);)voidmain(){inti;readDat();jsVal();printf("满足条件的数二%d\n”,ent);for(i=0;i<ent;i++)printf("%db[i]);printf("\n");writeDat();system("pause");}writeDat(){FILE*fp;inti;fp=fopen("out.dat","w");fprintf(fp,"%d\n",ent);for(i=0;i<ent;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);)3例数READDAT()实现从文件IN.DAT中读取ー篇英文文章存入到字符串数组XX中;请编制函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母〇左边的字符串内容移到该串的右边存放,然后并把小写字母(删除,余下的字符串内容移到已处理字符串的左边存放.最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数MRITEDAT()把结果XX输出到文件OUT.DAT中.例如:原文:Youcancreateanindexonanyfield.youhavethecorrectrecord.结果:nanyfield.Youcancreateanindexrd.yuhavethecrrectrec原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.类型字符串(单词)的倒置和删除.voidStrOR(void)/・标准答案・/(intI,j,k,index,strl;charch;for(1=0;Kmaxline;1++){strl=strlen(xx[I]);index=strl;for(j=0;j<strl;j++)if(xx[I][j]=o)(for(k=j;k<strl-l;k++)xx[I][k]=xx[l][k+l];xx[I][strl-l]='';index=j;}for(j=strl-l;j>=index;j—){ch=xx[I][strl-1];for(k=strl-l;k>O;k一)xx[I][k]=xx[I][k-l];xx[I][0]=ch;}))或者:voidStrOR(void)(inti;chara[80],*p;for(i=0;i<maxline;i++){p=strchr(xx[i],’〇');while(p){memset(a,0,80);memcpy(a,xx[i],p-xx[i]);strcpy(xx[i],p+1);strcat(xx[i],a);p=strchr(xx[i],'o');}})或者:voidStrOR(void)./*我的非指针解法・/{inti,righto,j,k;chartern[80];for(i=0;i<maxline;i++){k=0;righto=0;memset(tern,0,80);for(j=strlen(xx[i])-l;j>=0;j―){if(xx[i][j]==,o'){righto=j;break;}}for(j=righto+l;j<strlen(xx[i]);j++)tem[k++]=xx[i][j];for(j=0;j<righto;j++){if(xx[i][j]!=o')tem[k++]=xx[i][j];}strcpy(xx[i],tern);}}或者:注:该题要求的字符串中所有小写字母。左边的字符串内容移到该串的右边存放,即将串中“最后”ー个字母〇左右两侧的内容互换。题中第一个while()特环的作用是让pl指向最后ー个字母’。、第一个ctrcatO函数的作用是将pl以后的字符都放到新串t中,第二个Strcat()函数的作用是将p!以前的字符连接到新串t的后面(注意:在些之前要让p1所指的单元成为p1前面字符串的结束位置・pl='、0')〇这时完成左右互换。最后ー个while()循环的作用是删除新串中的所有小写字母飞,,采用的删除方法是不是’〇’的字母一律留下,否则不留(即相当于删除.)voidStrOR(void){inti;char*pl,*p2,t[80];for(i=0;i<maxline;i++){t[0]=,\0';p2=xx[i];while(*p2){if(*p2==’〇')pl=p2;p2++;}strcat(t,pl+1);*pl='、0';strcat(t,xx[i]);pl=xx[i];p2=t;while(*p2){if(*p2!=’〇')*pl++=*p2;p2++;)*pl='\0';):■或者:注该题的主要算法是先让两字符指针都指向串尾,然后使一指针(P1)往前移动,当出现不是字母时则表示在P1+1与P2之间是一个单词,并将该单词存入ー变量(tl),最后将tl连接到新串中(t);接着再往前找第二个单词,依次类推直到字符串头。由此可知新串就是原串中各单词的倒排.voidStrOL(void){inti,k;char*pl,*p2;chart[80],tl[80];for(i二〇;iくmaxline;i++){p2=pl=strchr(xx[i],'\〇')-’、〇';t[O]=tl[O]='、〇';k=1;while(k){while(isalpha(*p1)==0&&p1!=xx[i]){pl—;p2=pl;}while(isalpha(*pl)&&pl>=xx[i])pl-;memcpy(t1,pl+1,p2-p1);tl[p2-pl]=0;strcat(t,tl);strcat(t,"");if(pl<xx[i])k=0;}strcpy(xx[i],t);I1原程序如下:#include*stdio.h"include*string.h"include*conio.h*charxx[50][80];intmaxline=0;intReadDat(void);voidWriteDat(void);voidStrOR(void)voidmain(){clrscr();if(ReadDat())(printf(*Can*topenthefile!\n*);return;}StrOR();WriteDat();system("pause");)intReadDat(void){FILE*fp;inti=0;char*p;if((fp=fopen("in.dat*,"r"))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],'\n');if(p)*p=。;i++;)maxiine=i;fclose(fp);return0;IvoidWriteDat(void){FILE*fp;inti;fp=fopen("out.dat","w");for(i=0;i<maxline;i++){printf("%s\n",xx[i]);fprintf(fp,*%s\n*,xx[i]);;fclose(fp);I4:函数ReadDat()实现从文件IN.DAT中读取ー篇英文文章存入到字符串数组XX中;请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,同时去除标点符号,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中。最后main()函数调用函数WrileDal()把结果xx输岀到文件OUT6.DAT中。例如:原文:YouHeMeIamastudent.结果:MeHeYoustudentaamI原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。ー类型:字符串(单词)的倒置和删除。voidStrOL(void)/・标准答案・/{intI,j,k,strl,1;charc;for(1=0;Kmaxline;1++)for(j=0;j<strlen(xx[I]);j++){c=xx[I][j];if((c>=,A'&&c<=,Z')II(c>=,a'&&c<=,z)I|c==,');elsexx[I][j]->;}for(1=0;Kmaxline;1++)(charch[80]={0};charpp[80]={0);strl=strlen(xx[l]);I=strl-l;k=l;while(l){while(((xx[l][I]>=a&&xx[l][I]<=z1)II(xx[1][I]>=A'&&xx[l][1]<=z'))&&D=0){for(j=k;j>=0;j—)pp[j+l]=pp[j];pp[0]=xx[l][I];k++;I—;}strcat(ch,pp);strcpy(pp,);k=1;if(I=-l)break;while((xx[l][I]<*A'xx[l][1]>>z')&&I>=0)(for(j=k;j>=0;j—)pp[j+l]=pp[j];pp[0]=xx[l][I];k++;I—;}strcat(ch,pp);strcpy(pp,);k=0;if(I==-l)break;}strcpy(xx[1],ch);})或者:voidStrOL(void){inti,j,k,m,n,11;charyy[80];for(i=0;i<maxiine;i++){ll=strlen(xx[i]);k=n=0;for(j=ll-l;j>=0;j"){if(isalpha(xx[i][j]))k++;else{for(m=l;m<=k;m++)yy[n++]=xx[i][j+m];k=0;}if(xx[i][j]==*)yy[n++]ゴ';}for(m=l;m<=k;m++)yy[n++]=xx[i][j+m];yy[n]=0;strcpy(xx[i],yy);I;原程序如下:include"stdio.h"include*string.h"include"conio.h"includc*ctype.h"charxx[50][80];intmaxiine=0;intReadDat(void);voidWriteDat(void);voidStrOR(void)¢)voidmain(){clrscr();if(ReadDat()){printf(*CanJtopenthefile!\n*);return;)StrORO;WriteDat();system("pause");)intReadDat(void){FILE*fp;inti=0;char*p;if((fp=fopen("in.dat","r"))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],'\n');if(p)*P=0;i++;}maxiine=i;fclose(fp);return0;IvoidWriteDat(void){FILE*fp;inti;fp=fopen("out.dat","w");for(i=0;i<maxline;i++){printf("%s\n",xx[i]);fprintf(fp,"%s\n*,xx[i]);)fclose(fp);;5:在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前1。个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。例:处理前60125099901270258088处理后90126012702580885099注意:部分源程序已给出。
请勿改动主函数main。、读数据函数ReadDat()和输出数据函数WriteDat0请勿改动主函数main。、读数据函数ReadDat()和输出数据函数WriteDat0的内容。{intI,j,data;for(I=0;I<199;I++)for(j=I+l;j<200;j++)(if(aa[I]%1000>aa[j]%1000)(data=aa[I];aa[I]=aa[j];aa[j]=data;}elseif(aa[l]%1000==aa[j]%1000)if(aa[I]<aa[j])(data=aa[I];aa[I]=aa[j];aa[j]=data;}}for(I=0;I<10;I++)bb[I]=aa[I];原程序如下:#include<stdio.h>^includeくstring.h>#include<conio.h>intaa[200],bb[10];voidjsSort0{readDat();jsSort();writeDat();system("pause");IreadDat(){FILE*in;inti;in=fopen(in.dat,r);for(i=0;i<200;i++)fscanf(in,*%d,",&aa[i]);fclose(in);IwriteDat(){FILE*out;inti;clrscr();out=fopen("out.dat","w");for(i=0;i<10;i++){printf("i=%d,%d\n",i+1,bb[i])fprintf(out,"%d\n",bb[i]);)voidmain()fclose(out);voidmain()6:在文件in.dat中有200个正整数,且每个数均在1000至9999之间.函数ReadDat()读取这200个数存放到数组aa中.请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小逬行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值逬行升序排列.最后调用函数WriteDat()把结果bb输出到文件out.dat中.例:处理前90125099601270258088处理后50998088702560129012注意:部分源程序已给出.请勿改动主函数main。、读数据函数ReadDat。和输出数据函数WriteDat()的内容.voidjsSort()/・标准答案・/{intI,j,data;for(1=0;1<199;1++)for(j=I+l;j<200;j++)(if(aa[I]%1000<aa[j]%1000){data=aa[I];aa[I]=aa[j];aa[j]=data;}elseif(aa[I]%1000=aa[j]%1000)if(aa[I]>aa[j]){data=aa[I];aa[I]=aa[j];aa[j]=data;})for(I=0;I<10;I++)bb[I]=aa[I];)原程序如下:#includeくstring.h>#include<conio.h>intaa[200],bb[10];voidjsSort()voidmain()(readDat();jsSort();writeDat();system("pause");IreadDat()(FILE*in;inti;in=topen(in.dat,r);for(i=0;i<200;i++)fscanf(in,"%d,*,&aa[i]);fclose(in);writeDat()IFILE*out:inti;clrscrO:out=fopen(“〇ut.dat,w);for(i=0;i<10;i++){printf("i=%d,%d\n”,i+1,bb[i]);fprintf(out,"%d\n”,bb[i]);Ifclose(out);)7:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型!0位),单价dj(整型),数量si(整型),金额.ie(长整型)四部分组成•其中:金额单价・数量计算得出。函数ReadDatO是读取这100个销售记录并存入结构数组sell中.请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小逬行排列,最骈E列结果仍存入结构数组sell中,最后调用函数WriteDatO把结果输出到文件〇1T10.DAT中。注意:部分源程序存放在PROG1.C中。请勿改动主函数main(),读数据函数RcadDal()和输出数据函数WriteDal()的内容。voidSortDat()/・标准答案・/{intI,j;PROxy;for(I=0;I<99;I++)for(j=I+l;j<100;j++)if(strcmp(sell[1].dm,sell[j].dm)<0){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[1].dm,sell[j].dm)==0)if(sell[I].je<sell[j].je){x尸sellロ];sell[I]=sell[j];sell[j]=xy;})原程序如下:#include<stdio.h>#include<mem.h>#includeくstring.h>#include<conio.h>#include<stdlib.h>#defineMAX100typedefstruct{chardm[5];/・产品代码・/charmc[ll];/・产品名称・/intdj;/*单价・/intsi;次数量・/longje;/・金额・/}PRO;PROsell[MAX];voidReadDat();voidWriteDat();voidSortDat()()voidmain(){memset(sell,0,sizeof(sell));ReadDat();SortDat();WriteDat();}voidReadDat(){FILE*fp;charstr[80],ch[ll];inti;fp=fopen(*IN.DA『,"r");for(i=0;i<100;i++){fgets(str,80,fp);memcpy(sell[i].dm,str,4);memcpy(sell[i].me,str+4,10);mcmcpy(ch,str+14,4);ch[4]=0;sell[i].dj=atoi(ch);memcpy(ch,str+18,5);ch[5]=0;sell[i].sl=atoi(ch);sell[i].je=(long)sell[i].dj*sell[i].si;}fclose(fp);}voidWriteDat(void){FILE*fp;inti;fp=fopen(*0UT10.DA丁,”ザ);for(i=0;i<100;i++){fprintf(fp,"%s%s%4d%5d%101d\n”,sei1[i].dm,sei1[i].me,sell[i].dj,sei1[i].si,sell[i].je);)fclose(fp);}8函数ReadDat()实现从文件ENG.1、中读取ー篇英文文章,存入到字符串数组xx中;请编制函数encryptCharO,按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输岀到文件PSLDAT中.替代关系:f(p)二p*llmod256(卩是数组中某ー个字符的ハSCII值,f(p)是计算后新字符的ASCII值),如果计算后「(P)值小于等于32或大于130,则该字符不变,否则将1'(P)所对应的字符进行替代。注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main。、读数据函数ReadDat()和输出数据函数WriteDat()的内容。voideneryptChar()/・标准答案・/{intI;char*pf;for(1=0;Kmaxline;1++){pf=xx[I];while(*pf!=0){if(*pf*11%256>130||*pf*11%256<=32);else*pf=*pf*ll%256;pf++;}}()或者voidencryptChar0voidmain(){inti,j;char*p;clrscr();for(i=0;i<maxline;i++)if(ReadDat()){for(j=0;j<strlen(xx[i]);j++)printf("数据文件ENG.IN不能打开!\n\007”);{P=(xx[i][j]*ll)%256;return;if(p<=32||p>130))encryptChar();elsexx[i][j]=p;})WriteDat();system(*pause*);原程序如下:}#include<stdio.h>^includeくstring.h>intReadDat(void)#includeくconio.h>(#include<ctype.h>FILE*fp;inti=0;unsignedcharxx[50][80];unsignedchar*p;intmaxline=0;/・文章的总行数・/if((fp=fopen("eng.in","r"))==NULL)return1:intReadDat(void);while(fgets(xx[i],80,fp)!=NULL){voidWriteDat(void);p二strchr(xx[i],'\n);if(p)*p=0;voidencryptChar()i++;voidWriteDat(void)voidWriteDat(void)maxline=i;fclose(fp);return0;)voidWriteDat(void)(FILE*fp;inti;fp=fopen("psi.dat*,"w");for(i=0;i<maxline;i++){printf(*%s\n*,xx[i]);fprintf(fp,*%s\n*,xx[i]);}fclose(fp);)9:函数[(。^ロ近()实现从文件い.Dん!'中读取一篇英文文章存入到字符串数组xx中;请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组XX中。最后main。函数调用函数WriteDat()把结果xx输岀到文件()UT2.DAT中。例:原文:dAe,BfC.CCbbAA结果:fedCBA.,bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序存放在PROGLC中。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数MiteDat()的内容。ー类型:字符串(单词)的倒置和删除。voidSortCharD(void)/・标准答案・/{intI,j,k,strl;charch;for(1=0;Kmaxline;1++){strl=strlen(xx[I]);for(j=0;j<strl-l;j++)for(k=j+1;k<str1;k++)if(xx[I][j]<xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}})原程序如下:#include<stdio.h>#include<string.h>#include<conio.h>charxx[50][80];intmaxline=0;/・文章的总行数・/intReadDat(void);
voidSortCharD(void){intI,j,k,strl;charch;for(1=0;Kmaxline;1++)(strl=strlen(xx[I]);for(j=0;j<strl-l;j++)for(k=j+1;k<str1;k++)if(xx[I][j]<xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}voidmainO(clrscr();if(ReadDat()){printf("数据文件IN.DAT不能打开!'n\007”)return;}SortCharDO;WriteDat();system("pause");intReadDat(void)FILE*fp;inti=0;char*p;if((fp=fopen("IN.DAT","r"))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],>\n);if(p)*p=0;i++;}maxline=i;fclose(fp);return0;;voidWriteDat(void)(FILE*fp;inti;clrscr0;fp=fopen("0UT2.DAT","w");for(i=0;i<maxline;i++){printf("%s\n",xx[i]);fprintf(fp,"%s\n*,xx[i]);fclose(fp))fclose(fp)10请编制函数ConvertCharAO,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下ー个字母,如果是字母z,则改写成字母3大写字母和其它字符保持不变,把已处理的字符串仍按行重新存入字符串数组XX中…最后main。函数调用函数WriteDatO把结果xx输出到文件0UT3.DAT中。例:原文:Adb.Bcdzaabck.LLhj结果:Acc.Bdcabbcdl.LLik原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序存放在PROG1.C中.请勿改动主函数main(),读数据函数RcadDat()和输出数据函数WriteDalO的内容.一一ー类型:字符串(单词)的倒置和删除.voidConvertCharA(void)/・标准答案・/{intI,j,str;for(1=0;Kmaxline;1++){str=strlen(xx[l]);for(j=0;j<str;j++)if(xx[I][j]—z)xx[I][j]=,a*;elseif(xx[I][j]>=,a'&&xx[I][j]<=,y')xx[I][j]+=l;原程序如下:ftinclude<stdio.h>#include<string.h>^include<conio.h>charxx[50][80];intmaxiine=0;/・文章的总行数・/intReadDat(void);voidWriteDat(void);voidConvertCharA(void)(;voidmain(){clrscr();if(ReadDat())(printf("触文件IN.DAT不能打开!'n\007”)return;)ConvertCharA();WriteDat();system("pause");{{FILE*fp;inti=0;char*p;例如:s字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为、’。.123Ayz.注意:注意:部分源程序已给出.请勿改动主函数main。和输出数据函数readwriteDat()的内容。voidchg(char*s)/・标准答案・/{while(*s)if(*s==,zrI*s==,Z,){*s-=25;s++;}elseif(*s>='a'&&*sくニ’y'){♦s+=l;s++;}elseif(*s>='A'&&*s<='Y'){*s+=l;s++;}elses++;)或者:voidchg(char*s){inti,k;k=strlen(s);for(i=0;i<k;i++){if(s[i]='z,I|s[i]==,Z,)s[i]-=25;elseif(isalpha(s[i]))s[i]++;}if((fp=fopen("IN.DAT","r"))=NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],*\n);if(p)*p=0;i++;}maxline=i;fclose(fp);return0;)voidWriteDat(void){FILE*fp;inti;clrscr();fp=fopen("〇UT3.DAT","w");for(i=0;i<maxiine;i++){printf("%s\n",xx[i]);fprintf(fp,"%s\n",xx[i]);)fclose(fp);}U:下列程序的功能是:把s字符串中的所有字母改写成该字母的下一个字符,字母Z改写成字母エ要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序的要求,最后调用函数readwriteDat。把结果输出到文件。ut.dat中.voidreadwriteDAT()voidSortDat()voidreadwriteDAT()voidSortDat()/・标准答案・/原程序如下:ttinclude<conio.h>ttinclude<string.h>^include<stdio.h>#include<ctype.h>#defineN81voidreadwriteDAT();voidchg(char*s){)main()(chara[N];clrscr();printflEnterastring:");gets(a);printf(*Theoriginalstringis:");puts(a);chg(a);printf(*Thestringaftermodified:つ;puts(a);readwriteDAT();system("pause");inti;chara[N];FILE*rf,*wf;rf=fopeniin.dat*,'r");wf=fopen("out,dat",w");for(i=0;i<10;i++){fscanf(rf,"%s",a);chg(a);fprintf(wf,%s\n,a);:fclose(rf);fclose(wf);}12:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型1位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额j。(长整型)四部分组成。其中:金额=单价・数量计算得出。函数ReadDatO是读取这1〇〇个销售记录并存入结构数组sei1中。请编制函数SortDatO,其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列.最终排列结果仍存入结构数组sei1中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读数据函数ReadDal()和输出数据函数WriteDat()的内容。{intI,j;PROxy;for(1=0;I<99;1++)for(j=I+l;j<100;j++)if(strcmp(sell[1].dm,sell[j].dm)<0){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[1].dm,sei1[j].dm)==0)if(sell[I].je<sell[j].je){xy=sell[U;sell[I]=sell[j];sell[j]=xy;})原程序如下:#include<stdio.h>#includeくmem.h>#include<string.h>#include<conio.h>#include<stdlib.h>#defineMAX100typedefstruct{chardm[5];/・产品代码・/charme[11];/*产品名称*/intdj;/・单价・/intsi;・数量・/longje;/・金额・/}PRO;PROsell[MAX];voidReadDat();voidWriteDat();voidSortDat()voidmain(){memset(sei1,0,sizeof(sell));ReadDat();SortDat();WriteDat();}voidReadDat(){FILE*fp;charstr[80],ch[l1];inti;fp二fopen("IN.DAT","r");for(i=0;i<100;i++){fgets(str,80,fp);memepy(sell[i].dm,str,4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来五年屠宰场或类似用利口器行业直播电商战略分析研究报告
- 小学科学手工制作中的观察与实验能力培养教学研究课题报告
- 2026年网络在线学法普法考试题库【必刷】
- 《深度解析汇率波动对我国外贸企业财务稳定性的挑战与应对策略》教学研究课题报告
- 智能制造企业能源管理系统的智能化控制与能源结构优化教学研究课题报告
- 2026年网络在线学法普法考试题库附完整答案【名校卷】
- 2025年社区团购团长服务标准化十年研究报告
- 黄石市阳新县2016届中考数学逼真模拟试卷二(含解答)
- 2026年LTE知识题库附答案【达标题】
- 2026年一级建造师之一建民航机场工程实务考试题库300道【巩固】
- 酸枣种植知识讲座
- Axure RP9 网站与App原型设计实战案例教程PPT完整全套教学课件
- 《生于忧患死于安乐》文章结构
- 1+X测绘地理信息智能应用练习题(含参考答案)
- 译林版五年级英语上册全册课件
- 磷石膏基公路基层材料 技术规范 编制说明
- 电大专科《管理英语1》历年期末考试试题及答案汇编
- 《非政府组织管理》教学大纲
- GB/T 19809-2005塑料管材和管件聚乙烯(PE)管材/管材或管材/管件热熔对接组件的制备
- 无机及分析化学考试题(附答案)
- 体质中医基础理论课件
评论
0/150
提交评论