您的位置:

中间元素c语言,c语言基本元素

本文目录一览:

c语言数据结构5-6题,tail取表尾,head取表头,怎么取中间元素的

以第5题为例啊

tail(L) 得到的是(a,(u,t,w))

tail(tail(L)) 得到的就是((u,t,w))

head(tail(tail(L)))得到的就是(u,t,w)

tail(getHead(tail(tail(L))))得到的就是((t,w))

head(tail(head(tail(tail(L)))))得到的就是(t,w)

head(head(tail(head(tail(tail(L))))))得到的就是t.

用c语言编写给定10个元素,用选择法对中间8个元素进行降序排列

#include stdio.h

void SelectionSort(int *a, int n)

{

int i,j;

int max;

int t;

for(i = 1; i n-2; i ++)

{

int max = i;

for(j = i+1; j n-1; j ++)

if(a[max] a[j])

{

max = j;

}

t = a[max];

a[max] = a[i];

a[i] = t;

}

}

int main(void)

{

int i;

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

SelectionSort(a,10);

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

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

return 0;

}

c语言,求一个数组中,中间值的大小怎么做?

楼主,这道题我的思路是先排序,然后输出排序后中间元素的值

一楼的思路也不错,可以参考

祝楼主进步~

程序如下:

#include stdio.h

#include math.h

#define N 10

int Search(double a[]);

void main()

{

double a[N];

int i,mid;

printf("请输入数据:");

for(i=0;iN;i++)

scanf("%lf",a[i]);

mid=Search(a);

printf("中间值为:%.12f\n",a[mid]);

}

int Search(double a[])

{

int i,j,flag;

double tmp;

for(i=N-1;i=0;i--)

{

flag=0;

for(j=0;ji;j++)

{

if(fabs(a[j])-fabs(a[j+1])1e-10)

{

tmp=a[j];

a[j]=a[j+1];

a[j+1]=tmp;

flag++;

}

}

if(flag==0) break;

}

if(N%2)

return N/2+1;

else

return N/2;

}

-------------------------

修改宏定义的N值,可以改变数组大小