欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    rfh13 二维字符数组和应用.ppt

    • 资源ID:67318328       资源大小:307.50KB        全文页数:15页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    rfh13 二维字符数组和应用.ppt

    补充 二维字符数组Arrays 二维字符数组二维字符数组的定义 与二维数值数组定义方法相同,只是数据类型为char 例:char a25,b37;即:数组a有2行5列,可以存放2个长度为4的字符串;数组b有3行7列,可以存放3个长度为6的字符串。二维字符数组的初始化1、定义时初始化 char a38=str1,str2,string3;03gnirts02rts01rtsa0:a1:a2:a00 char b6=“s1“,st2,str3;03rts02ts01sb0:b1:b2:b00二维字符数组的引用 用i引用i行的字符串,或用ij引用i行j列的字符例:for(i=0;i3;i+)printf(“%sn”,ai);/*输出i行字符串*/for(i=0;i3;i+)printf(“%cn”,aii);/*输出i行i列字符*/for(i=0;i3;i+)printf(%sn,&aii+1)/*输出i行i+1列字符开始的字符串*/03gnirts02rts01rtsa0:a1:a2:a00选票:LiuWangWangZhangLiuChengWangLiuLiuZhangchengCheng0Zhang0Wang0Liu0man3man2man1man0候选者名字表:0000b3b2b1b0候选者得票数:读入所有候选者名字放到候选者名字表中,清其得票初始值为0从第0个到第M-1个处理选票,递增1 读选票 查找该名字在候选者名字表中的下标号 若找到,将该标号对应的得票数加1,退出查找循环输出所有候选者名字及得票数2234 例7-14 统计选票设候选人有 N人,参加投票的有 M人#include stdio.h#include string.hmain()char k10,sN10;int bN,i,j;for(i=0;iN;i+)gets(si);bi=0;for(i=0;iM;i+)gets(k);for(j=0;j=0;jN;jN;j+j+)if if(!(!(strcmp(sj,kstrcmp(sj,k))bj+;break;bj+;break;for(i=0;iN;i+)printf(%s:%d,si,bi);#define N 4#define M 20例:输入若干个0到9之间的整数(以输入-1表示终止)统计各整数的个数#include“stdio.h”#define N 10main()int a,b10=0;scanf(“%d”,&a);while(a!=-1)ba+;scanf(“%d”,&a);for(i=0;in;i+)printf(“%d:%d”,i,bi);统计计数值:0000000000b9b8b7b6b5b4b3b2b1b0输入数字:2 5 3 6 9 1 2 4 7 1 4 6 2 7 4 9 5 4 8 6 3 8 4 0 6 7 4-1 2234262321计数数组初始值为0,读第一个数据非“1”对应相计数值加1 读下一个数据输出所有计数值例:按下列要求编程序:产生10个2位随机正整数并存放在a数组中;关键点:产生随机数;在C语言库函数中有一个产生1到32767之间随机数的函数rand()(在文件stdio.h中定义),产生a到a+b之间的随机正整数的方法:rand()%b+a则:rand()%90产生0到89之间的整数,rand()%9010产生10到99之间的整数。int aN+1,n=N;printf(“产生%d个2位随机整数组成数组:n”,n);for(i=0;in;i+)ai=rand()%9010;printf(“%4d”,ai);printf(“n”);s200020012002200320042005C Ch hi in na a00按从小到大的顺序排序关键点:采用选择法排序;for(i=0i=0;in-1in-1;i+i+)k=i;for(j=i+1j=i+1;jnjaj j)k=j;/*只记录需要交换数据的下标编号 if(k!=i)/*本次比较后找到最小值的下标 tmp=ak;/*只做一次交换,节约计算时间 ak=ai;ai=tmp;pringf(“排序后的数组:n”);for(k=0;kn;k+)pringf(“%4d”,ak);任意输入一个数,插入到数组中,使之仍保持有序;关键点:插入时涉及到定位和数据向后挪位。printf(n请输入一个要插入的数k:n);scanf(%d,&k);for(i=0;in;i+)if(ki;j-)ajaj-1;/*aj(jn-1.i+1)后移个位置,腾出ai*/ai=k;/*将k插入到ai中*/n=n+1;/*a数组增加一个元素*/printf(n输出插入后的a数组各元素:n);for(i=0;in;i+)printf(%4d,ai);24 任意输入一个0到9之间的整数k,删除ak。关键点:删除时涉及到向前挪位。printf(n输入要删除数组元素的下标k:n);scanf(%d,&k);for(j=k;jn-1;j+)aj=aj+1;/*aj+1(jk,.,n-2)前移一个位置*/n=n-1;/*a数组减少一个元素*/printf(n删除后的数组:n);for(i=0;in;i+)printf(%4d,ai);printf(n);例:计算两个矩阵Aik(m行p列)、Bkj(p行n列)乘积。Cij=aikbkj (i=0.m-1;k=0.p-1;j=0.n-1)关键程序段:for(i=0i=0;iMiM;i+i+)/*生成C矩阵各元素*/for(j=i+1j=i+1;jNjN;j+j+)t=0;for(k=0;kP;k+)t+=aik*bkj;cij=t;例:不使用函数实现串比较0 1234 50 1234 5S t r i n g0S t r i n g0str1str2不相等情况S t r i n g0S t r i n g a b 0str1str2比较情况:66算法:1.从第0个开始比较,递增1 结束条件 str1与str2对应字符不相等不等 str1与str2对应字符都为0相等2.判断结论:若str1与str2对应字符都为0,串相等 否则,串不相等相等情况main()char str180,str280;int i;gets(str1);gets(str2);i=0;while!(str1i=0&str2i=0|str1i!=str2i)i+;if(str1i=0&str2i=0)printf(”%s=%sn”,str1,str2);else if(str1i=str2i)printf(”%s%sn”,str1,str2);判断停止的条件运行结果:输入:china chi123输出:china chi123例 7-20 判断s1字符串中是否包含s2字符串如:china123包含na12,但不包含abc。ana1230s1na120s2strlen(s1)-strlen(s2)包含不包含na1330s1na120s2算法:1.从s1第0个开始定位i,递增1 1.1 从s1第i个和s2的第0个开始比较,j递增1 结束条件 s1与s2对应字符不相等不等 比较个数strlen(s2)相等 1.2 判断结论:比较个数len(s2),串包含,退出循环 结束条件:s1的定位Istrlen(s1)-strlen(s2)main()char s180,s280;int i,j;gets(s1);gets(s2);for(i=0;i(strlen(s1)-strlen(s2)printf(”%s is not in%sn”,str2,str1);例:输入5个字符串,按从小到大排序。2维字符数组s520存5个名字串1维a5按序存名字串的编号 要点:ai用来记录顺序的,原始顺序si的i ai记录了顺序为i的串在名字串数组中的编号 如:a0=2表示顺序为0的姓名是s2 比较决定顺序的数据仍然为串值,即为:sak,saj 交换的数据不是字符串,而是相应编号值0TAOLF0TROHS00RAHC000TNI00GNOLS4 4S3 3S2 2S1 1S0 0432103014243012130420314200GNOL00RAHC00GNOL00RAHCmain()char s520;int a5,i,j,k,m;for(i=0;i5-1;i+)gets(si);ai=iai=i;for(i=0;i5-1;i+)k=i;for(j=i+1;j0)k=j;)0)k=j;if(k!=j)m=ak;ak=aj;aj=m;if(k!=j)m=ak;ak=aj;aj=m;for(i=0;i5-1;i+)printf(“%-sn”,sai);例:任意输入一个3位整数,取其各位数字的和,再取这个和数被7除的余数,输出余数对应的星期(英文单词)例:输入123,有(1+2+3)%7=6,则输出串“Saturday”。SaturdayFridayThursdayWednsdayTuesdayMondaySundayweek6 6week5 5week4 4week3 3week2 2week1 1week0 0算法:分拆各数字位(1)个位数字i=n%10;(2)十位数字j=(n/10)%10;(3)百位数字k=n/100;#include“stdio.h”main()char week79=“Sunday”,“Monday”,“Tuesday”“Wednsday”,“Thursday”,“Friday”,“Saturday”;int i,j,k,a,n;printf(“input a number:n”);scanf(“%d”,&n);i=n/100;j=(n/10)%10;k=n%10;a=(i+j+k)%7;printf(“%d%d+%d+%dweek%d%s”,n,i,j,k,a,weeka);运行结果:输出:input a number:输入:369输出:3693+6+9week4Thursday小 结1.1.概念概念:基本类型、构造类型、数组 2.2.数组的定义、初始化、元素引用数组的定义、初始化、元素引用1.数组的存储特点、数组名的含义2.数组的操作特点(用循环变量表示下标)3.3.二维数组二维数组4.4.字符数组的定义、初始化字符数组的定义、初始化(整体整体)、标准函数、标准函数1.特点:串结束标志、2.串循环条件:si!=0 istrlen(s)5.5.程序程序1.排序类(冒泡法、选择法)2.综合类(插入法、矩阵操作、)

    注意事项

    本文(rfh13 二维字符数组和应用.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开