C语言-数组-实验题目及答案_第1页
C语言-数组-实验题目及答案_第2页
C语言-数组-实验题目及答案_第3页
C语言-数组-实验题目及答案_第4页
C语言-数组-实验题目及答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验六实验六 数组程序设计数组程序设计 实验目的实验目的 1 掌握使用一维数组编程方法 2 掌握使用二维数组进行程序设计 实验内容实验内容 一 上机验证程序 并分析结果一 上机验证程序 并分析结果 要求 读懂程序 写出分析结果 上机运行程序 得到运行结果 比较之 1 include int main int a 1 2 3 4 5 i j s 0 j 1 for i 4 i 0 i s s a i j j j 10 printf s d n s return 0 分析结果 运行结果 二 程序改错题二 程序改错题 1 下面程序的功能 是从键盘输入一个数组 数组长度为 10 查找数组中正 数的个数 源代码如下 程序中存在错误 请将其改正 include int main int a 10 定义数组 int count i i 循环变量 count 正数个数 for i 0 i 10 i 循环输入 scanf d a i count 1 for i 0 i0 count printf 数组中正数有 d 个 n count return 0 三三 编写程序编写程序 1 编写程序要求输入 30 个学生的单科成绩 输出高于平均分的成绩 include define N 30 int main float score N sum 0 aver int i for i 0 i 30 i scanf f sum sum score i aver sum 30 printf 平均分为平均分为 2f n aver for i 0 iaver printf 2f score i printf n return 0 2 编写程序 假设有13位评委参与评分工作 计算每位歌手最终得分的方法 是 去掉一个最高分和一个最低分 然后计算剩余11个分数的平均值 所得 结果就是选手的最终得分 include define N 13 int main int score N sum 0 i high low for i 0 i N i printf 请输入第请输入第 d 位评委成绩位评委成绩 i 1 scanf d sum score i high score 0 low score 0 for i 0 i N i if highscore i low score i printf 歌手最后得分为歌手最后得分为 g n float sum high low N 2 3 假设给定一个书籍编号的数组 数组大小和数据自己设定 查找某本书是 否在此数组中个 如果有 显示查找成功以及该书在数组中的下标 否则显示查 找失败 include define N 5 int main int a N i flag 0 s printf 请输入书籍编号请输入书籍编号 n for i 0 i N i scanf d printf 请输入需要查找的书籍编号 请输入需要查找的书籍编号 n scanf d for i 0 i N i if a i s flag 1 break if flag printf 查找成功 编号为查找成功 编号为 d 的书籍的位置是的书籍的位置是 d n s i 1 else printf 查找失败 请确认书籍编号是否正确 查找失败 请确认书籍编号是否正确 n return 0 4 编写程序验证冒泡法排序 include int main int a 11 i j t printf Input 10 numbers n for i 1 i 11 i scanf d printf n for i 1 i 9 i for j 1 ja j 1 t a j a j a j 1 a j 1 t printf The sorted numbers n for i 1 i 11 i printf d a i return 0 5 编写程序验证选择法排序 方法一 方法一 include int main int a 11 i j k temp printf Input 10 numbers n for i 1 i 11 i scanf d for i 1 i 10 i k i for j i 1 j 11 j if a j a k k j if i k temp a i a i a k a k temp printf The sorted numbers n for i 1 i 11 i printf d a i return 0 方法二 方法二 include define NUM 10 参与排序的数据个数参与排序的数据个数 int main int data NUM 存放参与排序的所有整数存放参与排序的所有整数 int i j minValue temp 通过键盘输入待排序的整型数列通过键盘输入待排序的整型数列 printf nEnter d integers NUM for i 0 i NUM i scanf d 选择排序选择排序 for i 0 i NUM 1 i minValue i for j i 1 j NUM j 选择选择 i NUM 1 之间的最小数值之间的最小数值 if data j data minValue minValue j if minValue i 交换交换 temp data i data i data minValue data minValue temp 输出排序后的结果输出排序后的结果 printf nOrdering list is n for i 0 i NUM i printf 5d data i return 0 6 编写程序验证二分查找 include define NUM 10 int main int value NUM 12 23 30 45 48 50 67 82 91 103 非递减整型数列非递减整型数列 int low high mid key printf nEnter a key 输入查找的数值输入查找的数值 scanf d 利用二分查找在有序数列中查找利用二分查找在有序数列中查找 key low 0 high NUM 1 while low high mid low high 2 if value mid key break if value mid key low mid 1 else high mid 1 输出查找结果输出查找结果 if low high printf n d is found at d key mid 确认确认 break 出口出口 else printf n d is not found key 确认循环正常出口确认循环正常出口 return 0 7 将一个数组的值按逆序重新存放 例如 原来顺序为 8 10 4 23 1 要 求改为 1 23 4 10 8 方法一方法一 include define N 10 int main int a N i j temp for i 0 i N i scanf d for i 0 j N 1 i j i j temp a i a i a j a j temp for i 0 i N i printf d a i printf n return 0 方法二方法二 include define N 10 int main int a N i temp for i 0 i N i scanf d for i 0 i N 2 i temp a i a i a N i 1 第一个和最后一个交换 第二个和倒数第二个交换 第一个和最后一个交换 第二个和倒数第二个交换 一直到一直到 N 2 的时候 也就是数组的一半的时候的时候 也就是数组的一半的时候 a N i 1 temp for i 0 i N i printf d a i printf n return 0 8 输入n n阶 编程计算其两条对角线上各元素之和 方法一 include define N 3 int main int a N N i j sum1 0 sum2 0 sum 0 printf 请输入请输入 d 行行 d 列的矩阵 列的矩阵 n N N for i 0 i N i for j 0 j N j scanf d for i 0 i N i sum1 sum1 a i i sum2 sum2 a i N 1 i sum sum1 sum2 if N 2 1 sum sum a N 2 N 2 printf 主对角线元素之和为主对角线元素之和为 d n 副对角线元素之和为副对角线元素之和为 d n 主副对角线元主副对角线元 素之和为素之和为 d n sum1 sum2 sum 方法二 方法二 include define N 10 int main int a N N i j n sum 0 printf 请输入阶乘 请输入阶乘 scanf d for i 0 i n 1 i for j 0 j n 1 j scanf d if i j i j n 1 sum a i j printf 对角线的和为对角线的和为 d n sum 选做题选做题 P85 页 例 4 1 10 名候选人参与竞选 编写程序 输入一组选举人的投票信息 统计每个候选人的得票数目及选举结果 P87 页例 4 2 编写程序统计从键盘输入一行文本中每个英文字母出现的频率 3 模拟掷骰子游戏 100 次 编程统计并输出骰子的 6 个面各自出现的次数 方法一 方法一 include include include define N 100 int main int s N int a b c d e f i srand time NULL for i 0 i N i s i rand 6 1 a b c d e f 0 for i 0 i N i if s i 1 a else if s i 2 b else if s i 3 c else if s i 4 d else if s i 5 e else if s i 6 f printf 1 点出现的次数为 点出现的次数为 d n a printf 2 点出现的次数为 点出现的次数为 d n b printf 3 点出现的次数为 点出现的次数为 d n c printf 4 点出现的次数为 点出现的次数为 d n d printf 5 点出现的次数为 点出现的次数为 d n e printf 6 点出现的次数为 点出现的次数为 d n f 方法二 方法二 include include include define N 100 int main int r 6 0 int i srand time NULL for i 0 i N i r rand 6 for i 0 i 6 i printf d 点点 5d 次次 n i 1 r i return 0 4 打印出以下杨辉三角形 要求打印出 10 行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论