C程序设计上机实验报告10.docx

上传人:l*** 文档编号:19539127 上传时间:2022-06-08 格式:DOCX 页数:11 大小:31.68KB
返回 下载 相关 举报
C程序设计上机实验报告10.docx_第1页
第1页 / 共11页
C程序设计上机实验报告10.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《C程序设计上机实验报告10.docx》由会员分享,可在线阅读,更多相关《C程序设计上机实验报告10.docx(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C程序设计上机实验报告10 C程序设计试验报告 试验名称:指针与数组学时支配:2课时 试验类别:上机操作型试验要求:1人1组 一、试验目的 1.理解指针、地址和数组间的关系; 2.驾驭通过指针操作数组元素的方法; 3.驾驭数组名作为参数的编程方式。 二、试验设备介绍 软件需求: Visual C+ 6.0或CFree3.5以上版本 硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。 三、试验内容 1.定义函数void sort(int a,

2、int n)amain函数,并在其中调用sort函数。示例如下: After sorted the array is: -9 -6 1 2 4 5 2.输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found!”。要求定义和调用函数search(int list, int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。参数n代表数组list中元素的数量。 3.改正程序error08_1.cpp中的错误。该程序实现功能,有n个整数,使前面各数依次循环移动m个位置(m 要求先读该源程序,并理解其中的算

3、法。然后把正确的代码(按规范缩进)写入报告,并以注释的方式说明错误缘由。 注释示例如下: int i;/*循环限制变量不能定义为double类型*/ 提示:这是一个双重循环问题,内循环进行循环移位,外循环确定后移的位置。 4.有n个人围成一圈,按依次从1到n编号。从 Last No.is: 4 提示:可以把编号存在一个数组中,报到3的人赋值为0表示退出。可以另外定义两个变量,一个用来记录退出的人数,到n-1即结束,另外一个用来报数。 四、程序清单 第一题 #include void swap(int *,int*); void sort(int a,int n); void main() in

4、t i,n,a8; printf(Input n:); scanf(%d,&n); printf(Input array of %d integers: ,n); for(i=0;i scanf(%d,&ai); sort(a,n); printf(After sorted the array is:); for(i=0;i printf(%3d,ai); printf(n); void sort(int a,int n) int i,j,index; for(i=0;i index=i; for(j=i+1;j if(aj index=j; swap(&ai,&aindex); void s

5、wap(int *px,int *py) int t; t=*px; *px=*py; *py=t; 其次题 #include int search(int list,int n,int x); void main() int i,x,result,a10; printf(Enter a0-a9:); for(i=0;i scanf(%d,&ai); printf(Enter x:); scanf(%d,&x); result=search(a,10,x); if(result=-1) printf(Not found!n); else printf(The position is %dn,r

6、esult); return 0; int search(int list,int n,int x) int i,result=-1; for(i=0;i if(listi=x) result=i; break; return result; 第三题 #include void mov(int *, int, int); int main() int m, n, i, a80, *p; printf(Input n, m:); scanf(%d%d,&n,&m); printf(Input array of 5 int55egers:); for(p=a,i=0;i scanf(%d,p+);

7、/ p本身可取地址 mov(a,n,m); printf(After moved the array is:); for(i=0;i printf(%5d,ai); printf(n); return 0; void mov(int *x, int n, int m) int i,j,t; for(i=0;i t=xn-1;/*保存最终位置的元素值*/ for(j=n-1;j0;j-)/*从倒数其次个元素起先,每个元素向后一个位置 */ xj=xj-1;/* 调试时设置断点 */ x0=t;/*将保存的最终元素值放在最前面*/ 第四题 #include int main() int i,j,n

8、,t,count,a10000; printf(Input n:); scanf(%d,&n); for(i=0;i ai=i; count=0; i=1; j=0; while(count if(in) i=1; if(ai!=0) j+; if(j=3) t=i; ai=0; j=0; count+; i+; printf(Last No.is:%dn,t); return 0; 五、运行结果 六、试验心得 1、C中数组名即是数组中首元素(下标为0的元素)的地址。留意:这不包括形参数组名,因为形参数组名并不占据实际的内存单元。它只是指向其它数组首地址的指针。 2、数组名(比如a)代表数组首

9、元素的地址,它是一个指针常量,在程序中不能变更它的值。例如:a+是非法的。 3、实参数实参数组名代表一个固定的地址,或者说是指针常量。但形参数组并不是一个固定的地址,而是作为指针变量,它的值是可以变更的。在函数调用起先时,它的值等于实参数组首元素的地址,在函数执行期间,它可以再被赋值。 4、指向数组的指针变量也可以带下标,如:pi与*(p+i)等价。*(p+i)与*(a+i)等价。 5、当实参是数组名时,传递的是该数组首元素的地址,即是一个指针。 C程序设计上机试验报告10 C语言程序设计上机试验报告 c语言程序设计上机试验报告要求 C程序设计试验报告 C#程序设计试验报告 C语言程序设计试验报告 C+程序设计试验报告 C程序设计试验报告格式 C语言程序设计 试验报告2.3 C语言程序设计函数试验报告 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第11页 共11页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com