#include <stdlib.h>
#include "time.h"
int main(int argv,char *argc[]){
double x[10]={0.0,}
int i
srand((unsigned)time(NULL))
while(rand()%10000!=0){//
for(i=0i<9x[i++]=x[i+1])
x[9]=rand()/32767.0*100000//模拟采集数据
}
for(i=0i<10printf("%10.3f\n",x[i++]))//输出最后10个数
return 0
}
运行样例:
下面的这个程序不是很完整的,因为集合c没有删除ab中相同的数,还有下面的这个程序你要建在文件里才没有错误,建源文件时,要表明是.c文件,在运行时,你要注意输入的方式,如果你有问题再问好了#include<stdio.h>
#include<stdlib.h>
#define
MAX
256
//typedef
int
List[MAX]
typedef
int
ElemType
typedef
int
Status
#define
OVERFLOW
-1
#define
OK
1
#define
LIST_INIT_SIZE
80
#define
LISTINCREMENT
10
typedef
struct
{
ElemType
*elem
int
length
int
listsize
}
SqList
typedef
SqList
List
Status
InitList_Sq(
SqList*
L
)
{
(*L).elem
=
(ElemType*)
malloc
(LIST_INIT_SIZE*sizeof
(ElemType))
if
(!(*L).elem)
exit
(OVERFLOW)
(*L).length
=
0
(*L).listsize
=
LIST_INIT_SIZE
return
OK
}
void
main()
{
int
ListLength(List
Lx)
void
GetElem(List
Lx,int
i,ElemType
*xi)
Status
InitList_Sq(
SqList*
L
)
void
ListInsert(List
*Lc,int
k,ElemType
e)
void
MergeList(List
La,List
Lb)
void
printElem(List
Lx)
List
La,Lb
int
i
InitList_Sq(&La
)
InitList_Sq(&Lb
)
printf("pls
input
length
of
La
,Lb\n")
scanf("%d,%d",&La.length,&Lb.length)
printf("intiating
La....\n")
for(i=1i<=La.lengthi++)
scanf("%d",&La.elem[i])
printf("intiating
Lb....\n")
for(i=1i<=Lb.lengthi++)
scanf("%d",&Lb.elem[i])
printf("values
of
La
are:\n")
printElem(La)
printf("values
of
Lb
are:\n")
printElem(Lb)
printf("starting
union...\n")
MergeList(La,Lb)
}
void
MergeList(List
La,List
Lb)
{
List
Lc
int
i,j,k
ElemType
ai,bj
int
La_len=0,Lb_len=0
i=j=1k=0
InitList_Sq(&Lc
)
La_len=ListLength(La)Lb_len=ListLength(Lb)
while((i<=La_len)&&(j<=Lb_len))
{
GetElem(La,i,&ai)
GetElem(Lb,j,&bj)
if(ai<=bj)
{ListInsert(&Lc,++k,ai)++i}
else
{ListInsert(&Lc,++k,bj)++j}
}
while(i<=La_len)
{
GetElem(La,i++,&ai)ListInsert(&Lc,++k,ai)
}
while(j<=Lb_len)
{
GetElem(Lb,j++,&bj)ListInsert(&Lc,++k,bj)
}
Lc.length=k
printf("values
of
Lc
after
union:\n")
printElem(Lc)
}
void
printElem(List
Lx)
{
int
i
for(i=1i<=Lx.lengthi++)
{
printf("%5d",Lx.elem[i])
if(0==i%5)
printf("\n")
}
printf("\n")
}
void
GetElem(List
Lx,int
i,ElemType
*xi)
{
if(i>0
&&
i<=Lx.length)
*xi=Lx.elem[i]
//
printf("current
value
get:
%d\n",Lx[i])
//
printf("current
value
get:
%d\n",xi[i])
}
int
ListLength(List
Lx)
{
return
Lx.length//
}
void
ListInsert(List
*Lc,int
k,ElemType
e)
{
(*Lc).elem[k]=e
//printf("insert
success
to
e=%d\n",e)
}