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(khigh=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语言的题目。