资源描述:
《软考习题字符串》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、函数ReadDatO实现从文件IN.Dat中读取一篇英语文章存入到字符串数组xx屮;请编制函数ConvertCharDf),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的前一个字母,如果是a字母,则改写为z。大写字母和其他字符保持不变。把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat(),把结果输出到文件OUT4.DAT中。例如:原文Adb.Bcdzaabck.LLhj结果Aca.Bbcyzzabj.LLgi原始数把文件存放的格式是:每行的宽度均小于80个字符,含标点和空格。程序:#include#include#inelude
2、charxx[50][80];intmaxline=0;/*文章总行数*/intReadDat(void);voidWriteDat(void);voidConvertCharD(void){/*采用字符串指针方法*/inti;char*pf;for(i=0;i{pf=xx[i];while(*pf)if(*pf==^a/){*pf=,z,;pf++;}elseif(*pf>=/b,&&*pf<=,z/){*pf-=l;pf++;}elsepf++;}voidConvertCharD(void){厂采用字符数组方法*/inti,j;charc;for(i=l;i{for(j=O;jif(x
3、x[i]0]==/a/)xx[i][j]=Y;elseif(xx[i]U]>=/b/&&xx[i][j]<=Y)xx[i][j]-;}}voidmain(){clrscr();if(ReadDatO){printf(“数据文件IN.DAT不能打! 07H);return;}ConvertCharD();WriteDatf);system("pause");}intReadDat(void){FILE*fp;inti=0;char*p;if((fp=fopen(,,IN.DAT,7'rH))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p
4、=strchr(xx[i]/,);讦(p)*P=0;i++;}maxline二i;fclose(p);return0;voidWriteDat(void)FILE*fp;inti;fp=fopen(,,OUT4.DAT,/,,wH);for(i=0;i<=maxline;i++){printf(“%s",xx[i]);fprintf(fp,”%s“,xx[i]);}fclose(fp);}说明:字符串数组xx是二维数组,xx[0]存放第一行字符,xx⑴存放笫二行…特别是printf一句中吆s”用时注意。函数ReadDat()实现从文件IN.DAT中读取一篇英语文章存入到字符串数
5、组xx中;请编制函数StrCharJL()z其函数功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置。最后把己处理的字符串仍按行重新存入字符串数组xx屮,最后调用函数WriteDat()把结果xx输出到文件OUT7.DAT屮。原始数据文件存放的格式是:每行宽度均小于80个字符,含标点符号和空格。程序:#include#include#includecharxx[50][80];intmaxline=0;/*文章总
6、行数*/intReadDat(void);voidWriteDat(void);voidStrCharJL(void){inti,j;charc;for(i=0;ifor(j=O;j{c=xx[i][j]«4;if(!(c<=321
7、c>100))xx[i][j]+=c;voidmain(){clrscr();讦(ReadDatf)){printf("数据文件IN.DAT不能打! 07H);return;}StrCharJLf);WriteDat();system("pause");}intReadDat(void){FILE*fp;inti=O;char*p;if((fp=fope
8、n("IN.DAT"/"r"))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i]/,);讦(p)*p=O;i++;}maxline二i;fclose(p);return0;}voidWriteDat(void){FILE*fp;inti;fp二fopen(”OUT7.DAT”,”w“);for(i=0;i<=maxline;i++){print