实验5 数组一维数组.docx

上传人:b****5 文档编号:6789948 上传时间:2023-01-10 格式:DOCX 页数:13 大小:371.21KB
下载 相关 举报
实验5 数组一维数组.docx_第1页
第1页 / 共13页
实验5 数组一维数组.docx_第2页
第2页 / 共13页
实验5 数组一维数组.docx_第3页
第3页 / 共13页
实验5 数组一维数组.docx_第4页
第4页 / 共13页
实验5 数组一维数组.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

实验5 数组一维数组.docx

《实验5 数组一维数组.docx》由会员分享,可在线阅读,更多相关《实验5 数组一维数组.docx(13页珍藏版)》请在冰豆网上搜索。

实验5 数组一维数组.docx

实验5数组一维数组

淮海工学院计算机科学系

实验报告书

课程名:

《C语言程序设计A》

题目:

实验5数组——一维数组

班级:

软嵌151

学号:

2015123349

姓名:

陈正宁

 

1、实验内容或题目

(1)从键盘输入10个整数,输出去掉其中最大的两个数,求剩余数据的平均值。

(2)从键盘输入10个整数,分别用选择和冒泡排序对这10个数进行排序。

(4)输入一个整数,在一个有序数列中使用折半查找法查找是否存在该整数。

(5)有a,b,c,d和e共5个不同的球,准备分给甲、乙、丙、丁和戊5个小朋友。

已知小朋友甲不用a球,小朋友乙不要b球,小朋友丙不用c求。

编写程序求共有多少种不同的分法。

2、实验目的与要求

(1)掌握一维数组的定义和输入输出的方法。

(2)掌握与数组有关的算法,如排序、查找。

3、实验步骤与源程序

实验步骤

 

(1)、

(2)、选择排序:

冒泡排序:

(4)、

(5)、

源代码

(1)、

#include

voidmain()

{

inta[10];

inti,k,j,temp;

doublep,sum=0;

printf("请输入10个整数:

\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<9;i++)

{

k=i;

for(j=i+1;j<10;j++)

if(a[j]

k=j;

if(k!

=i)

{

temp=a[i];

a[i]=a[k];

a[k]=temp;

}

}

printf("去掉其中最大的两个数后余下的整数:

\n");

for(i=0;i<8;i++)

{

sum+=a[i];

printf("%d",a[i]);

}

p=sum/8;

printf("\n");

printf("剩余数据的平均值为:

\n%lf\n",p);

}

(2)、

#include

voidmain()

{

printf("下面使用选择排序:

\n\n");

inta[10];

inti,j,t,k;

printf("请输入10个待排序的整数:

\n");

for(i=0;i<9;i++)

scanf("%d",&a[i]);

printf("\n");

for(i=0;i<10;i++)

{

k=i;

for(j=i+1;j<10;j++)

if(a[j]>a[k])

k=j;

if(k!

=i)

{

t=a[i];

a[i]=a[k];

a[k]=t;

}

}

 

printf("排序后的整数为:

\n");

for(i=0;i<10;i++)

printf("%d",a[i]);

printf("\n");

}

#include

voidmain()

{

printf("下面使用冒泡排序:

\n\n");

inta[10];

inti,j,t;

printf("请输入10个待排序的整数:

\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

printf("\n");

for(j=0;j<9;j++)

for(i=0;i<9-j;i++)

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("排序后的整数为:

\n");

for(i=0;i<10;i++)

printf("%d",a[i]);

printf("\n");

}

(4)、

#include

voidmain()

{

inta[10]={0,1,2,3,4,5,6,7,8,9};

intlow=0,high=9;

intmid,k;

printf("请输入您想查找的数k:

");

scanf("%d",&k);

while(low<=high)

{

mid=(low+high)/2;

if(k==a[mid])

break;

if(k

high=mid-1;

else

low=mid+1;

}

printf("\n");

if(low<=high)

printf("查到这个数!

\n\n您想查找的数%d是数组的第%d个元素

\n",k,(low+high)/2+1);

else

printf("查无此数!

\n");

}

 

(5)、

#include

voidmain()

{inta,b,c,d,e,count=0;

intx[6],i;

for(i=1;i<=5;i++)

x[i]=1;

for(a=1;a<=5;a++)

if(x[a]==1)

{x[a]=0;

for(b=1;b<=5;b++)

if(x[b])

{x[b]=0;

for(c=1;c<=5;c++)

if(x[c])

{x[c]=0;

for(d=1;d<=5;d++)

if(x[d])

{x[d]=0;

for(e=1;e<=5;e++)

if(x[e])

{x[e]=0;

if(a!

=1&&b!

=2&&c!

=3)

count++;

x[e]=1;

}

x[d]=1;

}

x[c]=1;

}

x[b]=1;

}

x[a]=1;

}

printf("有%d种不同的分法。

\n",count);

}

4、测试数据与实验结果(可以抓图粘贴)

(1)、

 

(2)、

(4)、

 

(5)、

 

5、结果分析与实验体会

(1)、数组是一组有序数据的集合,数组中的每一个元素都属于同一个数据类型。

数组常与循环结合起来。

(2)、对于数组中的经典算法理解后也用适当记忆。

如有关排序的算法。

(3)、对于一些实际问题,要善于抽象成C语言的题目。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1