文档详情

数组在程序设计中的应用.ppt

发布:2017-03-14约1.65千字共11页下载文档
文本预览下载声明
程序设计若干问题 C语言课程设计 关于数组在函数参数中的用法 #include stdio.h int findmax(int b[5],int n); void main() {int max,a[5]={1,2,3,4,5}; max=findmax( a,5) printf(“%d”, max); } int findmax(int b[5],int n) { int max=b[0]; for(int i=1;in;i++) if (maxb[i]) max=b[i]; return max; } 函数返回值问题 函数无返回值 函数有返回值 如果设计了一个函数希望其返回多个值怎么办? 函数应描述为void 函数应该描述为返回值类型,函数中应该有:return 此数值; 应该设定指针类型的函数参数来实现。 设计一个函数返回多个值 #include stdio.h int findminmax(int b[5],int n); void main() {int max,min,a[5]={1,2,3,4,5}; findminmax( a,5,max,min); printf(“max=%d,min= %d”, max,min); } void findminmax(int b[5],int n, int *p1,int * p2) { *p1=*p2=b[0]; for(int i=1;in;i++) {if (*p1b[i]) *p1=b[i]; if (*p2b[i]) *p2=b[i]; } } 动态数组 #include stdio.h #include stdlib.h void main(){ int *p, n; scanf(%d, n); // if ((p=(int *)calloc(6,sizeof(int)))==NULL) // exit(0) ; p=(int *)calloc(n,sizeof(int)); for(int i=0;in;i++) *(p+i)=i; for (i=0;in;i++) printf(*(p+i)=%d\n,*(p+i)); free(p); } 关于运行错误的程序行定位 有时程序本身没有语法错误,程序可以运行,但是运行中出现异常错误提示并停止。 这种情况是因为逻辑错误引起来的,如果不用调试工具是很难发现错误代码行的。 检查方法: 设定一个断点,按F5健,看程序运行到断点是否发生异常错误,如果发生,原断点取消, 设一个新断点在前,重复过程, 否则新断点设在其后。 如果知道这个错误在某一小段程序内,改用F10, 熟练掌握调试技巧 掌握好调试技巧,事半功倍。 对于今后的程序设计大有益处 希望大家平常调试程序时多做训练。 练习 1.写一个子函数,求矩阵中的最大马鞍点 (马鞍点是同行中最大, 同列中最大),返回信息为行、列位置, 值。 2.写一个子函数,写一个子函数将矩阵中每列值的平均值返回。 3.写一个子函数,将一维数组中的众数值及个数返回。 4.写一个子函数将一个一维数组按从随机从数组中选择的某一数值做中枢将数组分成两部分,左边小,右边大,中枢居中。返回中枢位置,及中枢值。 Programming Art 程序设计艺术 要求程序符合规范 代码易读性(缩进格式, 变量、函数命名) 严格测试:运行各种情况做测试发现bug。 Programming Is Fun 程序设计是非常有趣的事情, 掌握了一门计算机语言,你可以编程做你想做的事情。 不断的训练, 才能使你的能力提升。 功到自然成,会有一天脑洞大开! 期待中。。。。。。
显示全部
相似文档