标准C语言程序设计数组上机内容201505.docxVIP

标准C语言程序设计数组上机内容201505.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
标准C语言程序设计数组上机内容201505

《标准C语言程序设计》上机报告实验六数组程序设计专业:班级:学号:姓名:完成日期:1实验目的进一步掌握调试方法,按步骤熟悉学习指导讲义调试案例;掌握一维数组、二维数组的定义、初始化和引用;理解并掌握数组名和数组下标的含义,深入理解多维数组降维的概念;掌握字符串和数组的结合(存储和处理);掌握并熟练使用字符串处理库函数;熟悉数组的操作(矩阵等数学运算、顺序及二分法查找、设标签选择法及交换法排序等);了解数组下标越界的形式和后果。实验内容及要求(鼓励一题多解)以下训练都要求在原数组中处理,即不能使用过渡数组!深入理解《上机实践训练教程》2.5实验五案例示范和有关概念中对外部参照存储类型的数组和自动类数组还有static数组的内存空间的分配及其是否初始化的有关文字描述。体会;外部参照存储类型是提前分配好内存空间的,是可以进行初始化的,它的初始化语句不是可执行语句,调试时会被快速跳过。而自动类型数组在函数内部定义时又叫局部数组,它的内存空间是在运行时被分配的,它能进行赋值,在调试时可被跟踪执行。运行《上机实践训练教程》P69实验五第11题,理解程序功能并指出其中排序是(冒泡/沉底)交换法还是设标签选择法,以及说明is_modified变量的作用?(提示:单步跟踪11题运行过程,检查跳出排序算法时,外层循环变量i的值以及剩下元素是否有序)。要求:在后续实战训练中使用相应技巧!代码#includestdio.h#includestring.h#define TRUE 1#define FALSE 0void main(){char temp[20];int i,j;int is_modified =FALSE;char cs[5][20]={China,AmericaJapan,India,England};for(i=0;i4;i++){is_modified =FALSE;for(j=4;ji;j--){if(strcmp(cs[j-1],cs[j])0){is_modified =TRUE;strcpy(temp,cs[j-1]);strcpy(cs[j-1],cs[j]);strcpy(cs[j],temp);}}if(is_modified==FALSE) break;}printf(i=%d\n,i);for(i=0;i5;i++)puts(cs[j]);}….此处写理解……讨论《上机实践训练教程》实验五12题中出现的异常现象的理解及如何避免。(提示:跟踪12题把strcpy(str1,str2);改为strncpy(str1,str2,sizeof(str1)-1);看执行结果,比较两次的运行结果不同,分析原因)理解:Strcpy具有数组的复制功能,但这个函数必须满足的前提是前一个数组足够大。strcpy只是复制字符串,但不限制复制的数量,很容易造成缓冲溢出。strncpy要安全一些。这里是代码和深入理解及感受…..用交换法对输入的30个学生C语言机考成绩进行降序排列后输出前10名的成绩和姓名,要求交换法排序算法的外层循环变量分别从0和1编号两种方式实现。#includestdio.h#includestring.h#includestdlib.h#define N 30void main(){int i,j;char StudentName[N][20],temp[20];int a[N],ttemp;printf(请输入学生的姓名和成绩);for(i=0;iN;i++){scanf(%s%d,StudentName[i],a[i]);}//下面采用交换法排序for(i=1;i=N-1;i++)//进行N-1次遍历for(j=1;j=N-1;j++)//对剩下的数进行排列{if(a[j-1]a[j]){ttemp=a[j-1];a[j-1]=a[j];a[j]=ttemp;strcpy(temp,StudentName[j-1]);strcpy(StudentName[j-1],StudentName[j]);strcpy(StudentName[j],temp);}}puts(前十名的姓名和成绩);for(i=0;i10;i++){printf(%20s%6d\n,StudentName[i],a[i]);}}输入一组实数,按录入顺序保存进数组arr中,采用设标签的选择法对其排序。任意输入一数,直接在arr中将其按序插入相应位置并输出显示。#includestdio.h#define N 3void main(){int arr[N+1];int i,j,k,t,b;printf(??ê?è?ò?×éêμêy);for(i=0;iN;i++){scanf(%d,arr[i]);}for(i=0;iN-1;i++)//??

文档评论(0)

jiupshaieuk12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档