ImageVerifierCode 换一换
格式:PPT , 页数:21 ,大小:418.50KB ,
资源ID:8697461      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8697461.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第三次上机实验内容-字符替换.ppt)为本站会员(fmgc7290)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

第三次上机实验内容-字符替换.ppt

1、,上机 替换字符 11 12 13 16 36 37 38 56 61 62 81 86 87,字符数组与字符串,void main() char a4=a,b,c,d;char b4=a,b,c,0;char b1=“china”;b1=“china”; ,a,b,b1是代表内存地址,二维字符数组,#include void main() char diamond5= , ,*,*, ,*,*, , , ,*, ,*, ,*, , ,*;int i,j;for (i=0;i5;i+) for (j=0;j5;j+)printf(%c,diamondij);printf(n); ,运行结果*

2、* * * *,二维字符数组,#include void main() char diamond5=“str1”,”str2”,”str3”;int i,j;for (i=0;i3;i+)printf(%s,diamondi);printf(n); ,运行结果,s,t,r,1,0,Diamond0是第0维数组的地址,s,t,r,2,0,Diamond1是第1维数组的地址,s,t,r,3,0,Diamond2是第2维数组的地址,与字符串处理的相关函数,字符串的输出 char c10=“test”; printf(“%s”,c); 字符串的输入 char c5; scanf(“%s”,c);,与字

3、符串处理的相关函数,加上#include 字符串的赋值函数 strcpy(字符数组名1,字符数组名2) char str110,str210=“china”; strcpy(str1,str2); str1=str2,表示把str2表示的字符串赋给str1 str1应足够大,是错误的,对单个字符处理函数加上头文件#include ,与字符串处理的相关函数,比较两个字符串的大小 strcmp(字符串1,字符串2)char str1=“china”;str2=“best”;if strcmp(str1,str2)printf(“str1str2”);求字符串长度函数strlen(字符串常量或字符数

4、组名) strlen(str1)返回字符串中字符个数不包括0,当字符串str1大于字符串str2 返回正整数 当字符串str1小于字符串str2 返回负整数 当字符串str1等于字符串str2 返回0,字符串的连接运算 char str120=“hello!; char str210=“china”; strcat(str1,str2); printf(“%s”,str1); Hello!china 输出字符串 printf(“%s”,str1)数组名 (地址) 输入字符串到字符数组 scanf(“%s”,str1),puts(str1) gets(str1),数组名,不是 str110,例

5、有3个字符串,要求找出其中最大者,程序如下: #include #include void main ( ) char string20;char str320;int i;for (i=0;i0) strcpy(string,str0)else strcpy(string,str1);if (strcmp(str2,string)0) strcpy(string,str2);printf(nthe largest string isn%sn,string); ,运行结果如下: CHINA HOLLAND AMERICA the largest string is HOLLAND,文件,打开文

6、件 读写操作(fscanf,fprintf)(fgets)针对字符串 关闭文件,文件打开读写实例,#include void main() int a10,i;FILE *in,*out;in=fopen(“in.dat”,”r”);out=fopen(“out.dat”,”w”);for(i=0;i10;i+)fscanf(in,”%d”, ,以读的方式打开 in.dat,以写的方式打开out.dat,从in所指文件依次读取 一个整型数据到ai,ai按指定格式写到 out所指文件中,char xx5080 ; unsigned int maxline = 0 ; /* 文章的总行数 */ i

7、nt ReadDat(void) FILE *fp ;int i = 0 ;char *p ;if(fp = fopen(“c:testIN.DAT“, “r“) = NULL) return 1 ;while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ;if(p) *p = 0 ;i+ ;maxline = i ;fclose(fp) ;return 0 ; ,从文件中读取79个字符存入 xxi对应的一维数组中,并加上 0 如果遇到n,提前结束fgets的执行strchr函数在一维数组中查找指定字符 返回该字符的地址,void WriteD

8、at(void) FILE *fp ;unsigned int i ;fp = fopen(“c:testOUT.DAT“, “w“) ;for(i = 0 ; i maxline ; i+) printf(“%sn“, xxi) ;fprintf(fp, “%sn“, xxi) ;fclose(fp) ; ,类型三 替 换 字 符 题,替 换字符题,函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx

9、输出到文件PS10.DAT中。替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序已给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。(11套),分析,本题要做三个步骤 1、从文件中读出每行数据存放在二维数组中 2、对二维数组的每行中的每个字符进行替换处理 3、把处理的二维数组重新写入文件,include #include unsigned char xx5080; int maxline=0;/*文章的总行数*

10、/ int ReadDat(void); void WriteDat(void);void encryptChar() void main() clrscr(); if(ReadDat() printf(“数据文件ENG.IN不能打开!n007“); return; encryptChar();WriteDat(); ,int ReadDat(void) FILE *fp; int i=0; unsigned char *p; if(fp=fopen(“eng.in“,“r“)=NULL) return 1; while(fgets(xxi,80,fp)!=NULL) p=strchr(xxi

11、,n); if(p)*p=0; i+; maxline=i; fclose(fp); return 0; void WriteDat(void) FILE *fp; int i; fp=fopen(“ps10.dat“,“w“); for(i=0;imaxline;i+) printf(“%sn“,xxi); fprintf(fp,“%sn“,xxi); fclose(fp); ,从文件中读出每行英文放于xx二维数组中,代码,void encryptChar() int i,j,t;for(i=0;imaxline;i+),实现encryptChar(),此函数无形参,实现二维数组每个字符的替

12、换 首先要取得二维数组的每个字符,可以使用两重循环来实现 对取得的字符进行替换,i,j分别是外循环和内循环变量, T存放转换后的数据,外循环 循环maxline行 对应数组第一维的下标,内循环 列数 对应数组第二维的下标,对数组第i行,第j列的字符进行替换,if (!(t130)xxij=t;,for(j=0;jstrlen(xxi);j+),t=xxij*11%256;,如果变换后的字符t的ASCII值不满足: 小于等于32或大于130 则对原字符进行替换 否则,不进行替换,函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到无符号字符串数组xx中;请编制函数encrypt

13、Char(),按给定的替代关系对数组xx中的所有字符进行替代,其替代值仍存入数组xx所对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。替代关系:f(p)=p*11 mod 256, mod为取余运算,p是数组xx中某一个字符的ASCII值, f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量), 如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则用f(p)替代所对应的字符。注意: 部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。请勿改动主

14、函数main()、读数据函数ReadDat()和输出数据函数WriteDat() 的内容。(13套),字符替换其他形式(第13套),函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConverCharD(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT4.DAT中。 例:原文:Adb.Bcdza abck.LLhj 结果:Aca.Bbcyz zabj.LLgi 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。,if(xxij = a) xxij = z ;else if(xxij a ,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报