批量数据处理数组程序设计().ppt

批量数据处理数组程序设计().ppt

ID:52449161

大小:261.00 KB

页数:48页

时间:2020-04-07

批量数据处理数组程序设计().ppt_第1页
批量数据处理数组程序设计().ppt_第2页
批量数据处理数组程序设计().ppt_第3页
批量数据处理数组程序设计().ppt_第4页
批量数据处理数组程序设计().ppt_第5页
资源描述:

《批量数据处理数组程序设计().ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、高级语言程序设计第6章批量数据处理—数组程序设计(2)问题3在成绩单中查找某人的成绩问题描述:问题2已经建立了有3门课程的成绩单(学号(假设学号在1到100之间,不一定连续)、数学成绩、英语成绩、计算机成绩和总分)中,现在按照学号查找某人的成绩信息。样例输入130输出样例1708090240样例输入2150输出样例2notfound分析假设3门课程的成绩单已经存储在数组intnum[60],grade[60][3],total[60]中我们的问题是用户输入一个学号,一般称为key,程序在学号数组中查找

2、有没有对应的学号,如果有,则把相应的成绩信息打印出来,如果没有,显示notfound怎么查找(Search)查找是另一个计算机领域里的比较经典的问题。如果数据以数组的形式存放,并且知道要查找的数据与下标的关系,就非常容易在数组中定位感兴趣的数据(有一种散列查找就具备这样的特点,在数据结构课程中详细介绍)。但是如果要查的数据没有与下标建立起直接的对应关系,只好从头开始进行逐个比较,这称为线性查找(顺序查找)。如果数据已经按照要查的数据排好序,那么采用折半查找可以提高查找的效率。算法设计(线性查找函数)对

3、于给定的查找key,和学号数组num[M]for(i=0;i=M返回-1算法实现intlinearSearch(constintnum[],intkey){inti;for(i=0;i=M)return-1;}在主函数中测试scanf(“%d”,&key);i=linearSearch(num,key);if(i!=-1){for(j=0;j

4、("%10d",grade[i][j]);//printgradeprintf("%10d",total[i]);//printtotal}}elseprintf(“notfound”);折半查找折半查找也叫二分查找。前提:数组num中的元素已经排好顺序(升或降)算法设计(折半查找函数)设num[]数组的下标范围[low,high],且数组元素已有序,在num[]中查找key1)如果low<=high,循环执行2)到5)2)计算中点:mid=(high-low)/23)如果key>num[mi

5、d],则修改low=mid+1,转到1)4)否则,如果keykey)low=mid+1;elseif(num[mid]

6、id);}return(-1);}字符型数组与字符串实际问题当中,学生的ID是一个比较长的字符串,不是整数值,字符串怎么比较呢?每个人的ID字符串怎么存储呢?全部所有学生的ID又怎么存储呢?在C语言中字符串到底是怎么定义的呢?什么是字符串?用双引号引起来的一串字符就是字符串姓名字符串“zhangqiang”,学号ID字符串“0308606709”等等,字符串常量字符串是怎么存储到内存中呢?是一个字符占一个字节,10个字符的ID就占用10个字节吗?如果有两个字符串需要连续存储怎么办呢?例如2个ID串,这

7、两个ID串岂不是连接在一起了吗?引入一个特别的字符:空字符‘’结束标记因此在C/C++中,末尾有空字符的一串字符才称为字符串例如“zhangqiang”,“0308606709”作为C/C++的字符串都隐藏一个空字符。同普通的变量一样,把存放字符串的变量可以称为字符串变量,没有专门的字符变量串类型字符串变量是用字符型数组来表示例如charname[20],stuID[10];charname[]={'z','h','a','n','g','q','i','a','n','g',''};更加简便

8、的方法,例如charname[]="zhangqiang";chastuID[11]="0308606709";但下面是错误的charname[20];name="zhangqiang";为什么它是错误的呢?思考题字符型数组与字符串完全等价吗?6.3.3字符串的输入与输出1)在scanf和printf中使用%s整体输入输出字符串注意:scanf读键盘缓冲区中的字符串时会略掉前导空白符,再次遇到空白符时则结束字符串。什么是空白符呢?空格、tab、回车都是空

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。