c语⾔程序设计实验五数组,c语⾔实验五实验报告数组
c语⾔实验五实验报告数组
⼀、 实验项⽬名称数组⼆、 实验⽬的1.掌握数组的基本概念,包括:数组的定义、数组的类型、数组的初始化、数组的赋值、数组元素下标的范围、数组元素的正确以及引⽤数组元素的输⼊/输出。 2.掌握字符数组与字符串的使⽤⽅法。理解字符数组与其它数组的区别、理解字符串及其特点。掌握常⽤的字符串处理库函数的⽤法并清楚对字符串的简单处理。 3.掌握与数组相关的算法,包括排序算法和查算法等。 三、 实验内容进⾏有关数组的程序设计。具体内容:1.编程实现:对任意⼀个⼀维数组,从中出数组元素的最⼤值和最⼩值。 要求:(1)数组为整型数组(10 个元素) 。(2)使⽤ scanf 函数实现数组元素的输⼊。在输⼊前给出必要的提⽰。(3)输出时给出必要的说明,⾸先输出原始的 10 个元素,换⾏后输出最⼤值以及最⼤值在数组中的位置、最⼩值以及最⼩值在数组中的位置。 (4)如果现改为c语言如何创建字符串数组
20 个元素的数组,怎样修改程序?修改程序后,运⾏程序进⾏检查。如果需要数组元素不断改变,应怎样修改程序? 2.编程实现:在给定的字符串中查满⾜条件的第⼀个字符。要求:(1)字符串采⽤初始化的⽅式处理。(2)通过 scanf 函数读⼊⼀个任意字符。(3)在字符串中查该字符,如果存在该字符,输出该字符在字符串中的位置以及相应的说明。如果不存在该字符,则要给出相应的信息。3.编程实现:⾸先任意输⼊⼀个⼤于 2 且⼩于 10 的整数 n,再输⼊⼀个由 n 决定的⼆维整型数组(n n) ,形成 n n 阶
矩阵,将矩阵中最⼤元素所在的⾏和最⼩元素所 在的⾏对调后,再输出该矩阵(注意:数组不允许动态定义) 。 例如:原始数据: n=4 结果数据:1 2 3 4 8 11 14 163 5 9 10 3 5 9 10 8 11 14 16 1 2 3 4 15 2 7 6 15 2 7 6 要求: (1)本题中所涉及到的循环都采⽤ for 语句。 (2)在输⼊/输出时进⾏必要的说明。(3)对输⼊的 2~10 之间的整数(例如 4)以 n=4 的格式输出。(4)输⼊⼀个 n n 矩阵(假定最⼤值与最⼩值不在同⼀⾏上) ,输出原始矩阵数 据(按上述矩阵形式) 。(5)查最⼤值与最⼩值,将矩阵中最⼤元素所在的⾏和最⼩元素所在的⾏对调,输出对调后的矩阵数据。 (6)修改程序,对最⼤值与最⼩值可能出现在⼀⾏上的情况做出说明。 (7)对 n 为 3,4,5 时,输⼊数组元素是要注意哪些问题?执⾏程序,检查程序的正确性。4.编程实现“折半查”的过程。折半查的处理过程是:在⼀个数据已排好序的数组中,⾸先⽐较关键字与数组中间的元素,如果两者相等,则查结束;如果前者⽐后者⼩,则要查的数据必然在数组的前半部,此后只需在数组的前半部中继续折半查;如果前者的数值⽐后者⼤,则要查的数据必然在数组的后半部,此后只需在数组的后半部继续进⾏折半查。
要求: (1)设定⼀个数组存放 20 个数据,⽤赋初值的⽅法在程序中给出(假设这些数据已排序) 。 (2)⽤ scanf 函数输⼊⼀个要的数。(3)对查的结果给出相应的说明,如果到该数,则给出该数是数组中第⼏个元素。如果该数不在数组中,则输出“⽆此数”信息。 (4)任意输⼊⼀些数据,检查程序的正确性。 (5)修改程序,设定输⼊的数据是⽆序的,采⽤ scanf 函数的形式输⼊,⾸先要对这些⽆序的数据进⾏排序,然后再采⽤“折半查” 。最后通过测试⼏组差别较⼤的数据检查程序的正确性。 (6)修改程
序,改为函数调⽤的形式。编写⼀个选择法排序函数,对⽆序数据进⾏排序;编写⼀个查函数对已排好序的数据进⾏查。在主函数中输⼊数据(⽆序) ,调⽤上述函数,输出结果。5.编程实现:三个学⽣、五门课程的成绩分别存放在 4×6 矩阵的前 3×5 列,计算出每个学⽣的平均成绩存放在该数组的最后⼀列的对应⾏上。计算单科的成绩总和存放在最后⼀⾏的对应列上,并输出单科成绩的平均分。输⼊/输出格式举例如下: (输⼊成绩): 65 87 68 56 78 83 94 67 85 91 71 75 69 84 89 Output(输出结果) : 65 87 68 56 78 70.5 83 94 67 85 91 84.0 71 75 69 84 89 77.5 219.0 256.0 204.0 258.0 232.0 0 average: 73.0 85.3 68.0 86.0 77.3 要求: (1)数组类型为实型,输⼊成绩由 scanf 函数实现。(2)输出已输⼊的原始成绩数据(3×5) 。 (3)计算每个学⽣的平均成绩以及单科的成绩总和并按要求填⼊到数组中,输出填⼊结果后的数组(4×6) 。(4)j 计算单科平均成绩后输出。 6.编写函数 catStr(char str1[],char str2[])⽤于进⾏两个字符串的连接,编写函数lenStr()⽤于统计⼀个字符串的长度。编写函数 cmpStr()⽤于判断两个字符串的⼤⼩。 要求: (1)不允许使⽤字符处理库函数。(2)在主函数以初始化的⽅式输⼊两个字符串 str1、str2。调⽤函数 lenStr()计算字符串的长度。 (3)调⽤函数 cmpStr()判断两个字符串的⼤⼩,如果 str1 ⼤于等于 str2,调⽤函数catStr()进⾏两个字符串的连接,将 str1 连接在 str2 后,否则,将 str2 连接在 str1 后,调⽤函数 lenStr()统计连接后的字符串长度。 (4)在主函数中输出两个原始字符串和各⾃的长度以及处理后字符串及其长度。四、 实验步骤在编程软件中写如以下代码:⼀、#include void main(){int a[10],i,j,k,max,min;printf(“请输⼊ 10 个数:\n“);for (i=0;i=max)max=a[i];if (a[i]#include void main(){int j,n;char i;char c[]={“I am a student“};/*初始
化字符串*/printf(“给定字符串为:%s\n 请输⼊要查的字符:“,c);scanf(“%c“,n=strlen(c);/*得到函数给定字符串的长度*/for (j=0;j=n)printf(“字符串中不存在满⾜条件的字符!“);}三、#include void main(){int n,j,k,z,x,max,min,a[10][10];printf(“请输⼊⼀个 2 到 10 之间的
数:“);scanf(“%d“,printf(“请输⼊⼀个 n*n 数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论