C語言程序设计II实验指导书.docVIP

  • 7
  • 0
  • 约8.04千字
  • 约 18页
  • 2016-11-30 发布于重庆
  • 举报
C語言程序设计II实验指导书

课程实验指导书 第二部分 实验内容 实验一:数组定义、初始化和引用运算 一、实验目的 1、掌握一维数组的定义和引用 2、掌握一维数组的初始化方法 3、了解与一维数组有关的应用编程方法 二、实验意义 在解决实际问题或实现某些算法时,数组是经常使用的构造数据类型,掌握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的能力,同时可接触到更多的经典算法,这些算法很多都是通过数组类型存储数据并实现的,有了这些基础后,学生可以在今后的编程中应用这些知识。数组的实验能让学生进一步的提高程序设计编程和调试的能力,对于数组元素引用及循环控制的特点,也可以在实验中得以加深理解和巩固知识。 三、实验重点 1 一维数组的定义、元素的引用。 2 一维数组编程的循环控制特色。 3 排序等相关算法的实现。 四、实验难点 一维数组编程的循环控制特色,程序调试时的数组越界问题 排序算法的理解和记忆 五、实验方式 提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。 六、实验内容 1. 运行下面的程序。根据运行结果,可以说明什么? main( ) { int i,x[5]={1,2,3,4,5}; for (i=0;i=5;i++) printf(%4d,x[i]); } 2、编程:输入一个长度为10的一维数组,然后将其向右循环移动一位后输出。 如:输入的一维数组啊[10]为:0 1 2 3 4 5 6 7 8 9 10 则向右循环移动一位后,数组a[10]变为:10 0 1 2 3 4 5 6 7 8 9 3、从键盘输入10个整数,找出最大的数并输出该数及其下标。 4、用scanf函数给二维数组a[3][4]输入12个数据,并求出每一行的正数之和,每一行的最小值以及下标值。 5、编一程序,将两个字符串连接起来,分别有strcat函数和不要用strcat函数两种方法实现。提示:字符串输入输出可用scanf、printf函数或者gets、puts函数 七、实验总结和实验报告的撰写 1、以为数组的定义和一维数组初始化的方法。 2、一维数组相关算法设计。 实验二:字符串处理和数组常用算法实验 一、实验目的 1 掌握二维数组的定义、元素引用、编程方法。 2 掌握字符数组的定义、元素引用、编程方法。 3 掌握字符串常用程序设计方法。 二、实验意义 在解决实际问题或实现某些算法时,数组是经常使用的构造数据类型,掌握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的能力。在数组的使用中,字符数组及相关字符串操作是经常使用的操作。增强字符数组的编程练习,提高相关程序设计经验对于提高学生的程序设计和调试的能力具有很重要的作用。 三、实验重点 1 二维数组的定义、元素引用、使用方法。 2 字符数组的定义、元素引用、使用方法。 3 二维数组编程时的程序设计方法 4 字符串的操作及常用程序设计方法。 四、实验难点 二维数组的相关算法 字符串操作的循环控制方法。 五、实验方式 提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。 六、实验内容 1、编程:随机输入一个长度为20的一维数组a[20],对数组a的前10个元素用选择法从小到大排序,后10个元素用冒泡法从大到小排序,最后用数组a的前10个元素分别减去后10个元素,得到的结果存放在长度为10的一位数组b[10]中;程序要求把排序前和排序后的数组a和数组b输出。 2、把第一题的数组b的最大和最小删除,然后插入最大值和最小的平均值,要求插入后不改变数组的排序。 3、 找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。至少准备两组测试数据: (1)二维数组有鞍点 9 80 205 40 90 -60 96 1 210 -3 101 89 (2)二维数组没有鞍点 9 80 205 40 90 -60 96 1 210 -3 101 89 45 54 156 7 用scanf函数从键盘输入数组的各元素的值,检查结果是否正确,题目未 指定二维数组的行数和列数,程序应能处理任意行数和列数的数组。 程序提示: 输入矩阵 flag2=0;//矩阵中无鞍点 for(i=0;in;i++)//找第i行的鞍点 { max=a[i][0];maxj=0; 用

文档评论(0)

1亿VIP精品文档

相关文档