下载此文档

2022年数组实验实验报告.doc


文档分类:IT计算机 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
2021年数组实验实验报告
2021年数组实验实验报告
1 / 22
2021年数组实验实验报告
C语言程序设计试验汇报
专业: 计算机科学与技术 班级: 计算机科学与技术创新试验班 日期: -12-22成绩:
试验组别: 第 次试验: 指导老师:
学生姓名: 学号: 同组人姓名:
试验名称: 数组试验
一、 试验目
掌握数组说明、 初始化和使用
掌握一维数组作为函数参数时实参使用方法;
掌握字符串处理函数设计, 包含串操作函数及数字串与数之间转换函数实现算法。
掌握基于分支策略二分查找算法和选择排序算法思想, 以及相关算法实现。
二、 试验内容及要求
源程序改错
下面是用来将数组a中元素按升序排序后输出源程序。分析源程序中存在问题, 并对源程序进行修改, 使之能争取完成任务。
源程序:
#include <>
int main(void)
{
int a[10]={27,13,5,32,23,3,17,43,55,39};
void sort(int[],int);
int i;
sort(a[0],10);
for(i=0;i<10;i++)
printf("%6d",a[i]);
printf("\n");
return 0;
2021年数组实验实验报告
2021年数组实验实验报告
2 / 22
2021年数组实验实验报告
}
void sort(int b[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
if(b[j]<b[j+1])
t=b[j],b[j]=b[j+1],b[j+1]=t;
}
源程序完善、 修改、 替换
下面源程序用于求解瑟夫问题: M个人围成一个圈, 从第一个人开始依次从1直N循环报数, 每当报数为N时报数人出圈, 直到圈中只剩下一个人。请在源程序中下划线处填写合适代码来完善程序。
源程序:
#include <>
#define M 10
#define N 3
int main(void)
{
int a[M],b[M];
int i,j,k;
for(i=0;i<M;i++)
a[i]=i+1;
for(i=M,j=0;i>1;i--){
for(k=1;k<=N;k++)
2021年数组实验实验报告
2021年数组实验实验报告
3 / 22
2021年数组实验实验报告
if(++j>i-1) j=0;
b[M-i]=j? ____:___;
if(j)
for(k=--j;k<i;k++)
________________;
}
for(i=0;i<M-1;i++)
printf("%6d",b[i]);
printf("%6d\n",a[0]);
return 0;
}
上面程序中使用数组元素值表示圈中人编号, 故每当有些人出圈是都要压缩数组, 这种算法不够精炼。假如采取做标识措施, 即每当有些人出圈是对对应数组元素做标识, 从而可省掉压缩数组时间, 这么处理效率会更高部分。所以, 请采取做标识措施修改(1)中程序, 并使修改后程序与(1)中程序有相同功效。
跟踪调试程序
在下面所给源程序中, 函数strncat(s,t,n)原来应该讲字符数组t前n个字符链接到字符数组s中字符串尾部。不过函数strncat在定义是代码有误, 不能实现上述功效, 请按下面要求进行操作, 并回复问题和排除错误。
单步实施源程序。进入函数strncat后观察表示式s、 t和i。当光条落在for语句所在行是吗, i位多少?当光条落在strnca函数块结束标识所在行时, s, t分别为和值?
i=22 s和t没有改变
分析函数犯错原因, 排除错误, 是函数正确实现功效, 最终写出程序结果。
源程序:
#include<>
void strncat(char [],char [],int);
2021年数组实验实验

2022年数组实验实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数22
  • 收藏数0 收藏
  • 顶次数0
  • 上传人业精于勤
  • 文件大小227 KB
  • 时间2021-12-17
最近更新