文档介绍:哈尔滨工程大学
《程序设计基础》实验报告
基础实践二
姓 名: 王明 班 级: 20160613 个人收集整理 勿做商业用途
学 号: 20160613 个人收集整理 勿做商业用途
实验时间: 2017 年 5 月 8 日资料个人收集整理,勿做商业用途
成绩
哈尔滨工程大学计算机基础课程教学中心资料个人收集整理,勿做商业用途
实验五
实验题目1:
输入两个整数数组,每个数组有5个整数,将两者合并并排序输出。个人收集整理 勿做商业用途
设计思想:定义两个5个元素的数组,一个10个元素的数组,数据类型为整型,通过for循环输入前两个数组的值,并依次存入第三个数组中。另外编写排序函数,在主函数中调用对第三个数组中的元素排序并输出。文档来自于网络搜索
实验代码及注释:文档收集自网络,仅用于个人学习
#include<>文档来自于网络搜索
#include<> 资料个人收集整理,勿做商业用途
void f1(int *a, int i, int j)个人收集整理 勿做商业用途
{
int m, n, c;文档来自于网络搜索
int k;
m = i;
n = j;
k = a[(i + j) / 2];文档来自于网络搜索
do {
while (a[m]<k&&m<j) m++;文档收集自网络,仅用于个人学习
while (a[n]>k&&n>i) n--;个人收集整理 勿做商业用途
if (m <= n) {文档收集自网络,仅用于个人学习
c = a[m];个人收集整理 勿做商业用途
a[m] = a[n];文档收集自网络,仅用于个人学习
a[n] = c;文档收集自网络,仅用于个人学习
m+=1;
n-=1;
}
} while (m <= n);资料个人收集整理,勿做商业用途
if (m<j) f1(a, m, j);文档来自于网络搜索
if (n>i) f1(a, i, n);文档收集自网络,仅用于个人学习
}
int main()资料个人收集整理,勿做商业用途
{
int a1[5],a2[5],c[10];文档收集自网络,仅用于个人学习
printf("请输入两个数组,每组五个整数:\n");资料个人收集整理,勿做商业用途
for(int i=0;i<5;i++)文档收集自网络,仅用于个人学习
scanf("%d %d",&a1[i],&a2[i]);文档收集自网络,仅用于个人学习
for(int i=0;i<5;i++)个人收集整理 勿做商业用途
{
c[i]=a1[i];个人收集整理 勿做商业用途
c[i+5]=a2[i];资料个人收集整理,勿做商业用途
}
f1(c,0,9);个人收集整理 勿做商业用途
printf("排序后为:\n"); 文档来自于网络搜索
for(int i=0;i<10;i++)资料个人收集整理,勿做商业用途
printf("%d ",c[i]);文档来自于网络搜索
putchar('\n');文档来自于网络搜索
system("pause");文档来自于网络搜索
return 0; 文档收集自网络,仅用于个人学习
}
验证与结论:
程序运行正常,结果输出正确。个人收集整理 勿做商业用途
总结与心得体会:个人收集整理 勿做商业用途
本实验用到了循环结构对数组输入,这是对多个数据同时输入的一种非常方便的方法。利用指针进行排序,由于形参和实参在数据传递上有单向性,在进行元素交换类数组函数的编写时,需要借用指针。本实验将其中一个主要功能编写为函数,使代码模块化,利于阅读查错。
文档来自于网络搜索
实验题目2:
某公司生成5种产品,每周记录生产的每种产品数量和销售数量。在每个月月末,公司将对其生产规划进行评估。该评估需要以下一个或多个信息:资料个人收集整理,勿做商业用途
每周生产和销售的数量;文档收集自网络,仅用于个人学习
所有生产产品的总量;文档来自于网络搜索
所有销售产品的总量;个人收集整理 勿做商业用途
每种产品生产和销售的总量;个人收集整理 勿做商业用途
假设生产和销售的产品分别用二维数组M[4][5]和S[4][5]表示。其中,M[i][j]表示第i周生产第j种产品的数量。S[i][j]表示第i周销售第j种