c 语言编程问题 给定随机整数数组L[N](N为数组最大元素个数),在数组L中实现如下操作

来源:百度知道 编辑:UC知道 时间:2024/06/16 22:26:44
3. 给定随机整数数组L[N](N为数组最大元素个数),在数组L中实现如下操作:
⑴ ListGen(&L)
在L中填入m(m为随机数,m≤N) 个元素,每个元素为0~100之间的整数
⑵ ListLength(L)
初始条件:数组L已存在。
操作结果:返回L中实际数据元素个数。
⑶ ListInsert(&L,i,e)
初始条件:数组L已存在,1<=i<=ListLength(L)+1。
操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1。
⑷ 在数组L中折半查找其关键字等于key的数据元素。若找到,则函数值为该元素在表中的位置,否则为0。
int Search_Bin(L,int key );
⑸ 将数组L中的元素按照从小到大的顺寻排列。
void ListSort(&L)

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define N 30
void ListGen(int *L);
int ListLength(int *L);
void ListInsert(int *L,int i,int element,int *length);
int Search_Bin(int *L,int key ,int length);
void ListSort(int *L,int length);
void main()
{
int L[N],length,i,element, key;
ListGen(L);
length=ListLength(L);
printf("请输入要插入的位置和元素数值:");
scanf("%d%d",&i,&element);
ListInsert(L,i,element,&length);
printf("请输入要查找的关键字:");
scanf("%d",&key);
ListSort(L,length);
Search_Bin(L,key,length);

}

void ListGen(int *L);
{
int m,i;
time_t t;
printf("请要创建的数组元素的个数:");
scanf("%d",m) ;
srand((unsigned) time(&t));
for(i=0; i<m; i++)
L[i]=rand()%100 ;
L[m]=-32768;
printf("创建的数组为:");