📄 ppt.c
字号:
#include<stdio.h>
void Intilist(int la[10],int M); // Input the sequence from keyboard
int move (int la[100],int M); //Make the input sequence in order
int delem(int la[100],int M); //Keep only one element if they are the same
int M,N; //M=length of la, N=length of lb
int main ()
{
int la[100], lb[100];
int lc[201];
int i,j,k;
/*get the numbers in a line */
printf("Please input length of la:\n"); //输入线性表la的长度
scanf("%d",&M);
Intilist(la,M); //初始化线性表la
M=move (la,M); //排序并删除其中输入多余的元素
printf("Please input length of lb:\n"); //输入线性表lb的长度
scanf("%d",&N);
Intilist(lb,N); //初始化lb
N=move(lb,N);
/* get together two linklists */
i=j=0;
k=0;
while ((i<M)&&(j<N)) //当没有处理完任何一个线性表时,继续循环
if(la[i]<lb[j]){ //当la中第i个元素小于lb中第j个元素时
lc[k]=la[i]; //复制la中的元素
k++; //指针加1
i++;
}
else if (la[i]>lb[j]){ //当大于时
lc[k]=lb[j]; //复制lb中的元素
k++;
j++;
}
else if(la[i]=lb[j]) { //当等于时
lc[k]=la[i]; //复制其中一个线性表中的元素
i++;
k++;
j++;
}
for(;j<N;j++){ //如果lb中还有元素,复制剩余元素
lc[k]=lb[j];
k++;
}
for(;i<M;i++){ //如果la中还有元素,复制剩余元素
lc[k]=la[i];
k++;
}
for (i=0;i<k;i++) //打印lc中的所有元素
printf ("%d ",lc[i]);
printf("\n");
return 0;
}
/* 初始化线性表*/
void Intilist (int L[100],int m)
{
int i;
printf ("Please input numbers:\n");
for (i=0;i<m;i++)
scanf ("%d",&L[i]);
printf ("\n");
return;
}
/* 对该线性表排序*/
int move ( int a[100],int m)
{
int i,j,t;
for (j=1;j<m;j++) //冒泡排序法
for (i=0;i<m-j;i++)
if (a[i]>a[i+1]){
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
m=delem(a,m); //删除其中相同的元素
printf ("the sorted numbers:\n");
for (i=0;i<m;i++)
printf ("%d ",a[i]);
printf ("\n");
return m;
}
//如果其中有相同的元素,则删除相同的元素
int delem(int la[100],int m)
{
int i,j;
for(i=0;i<m;i++)
if(la[i]==la[i+1]){
for(j=i;j<m;j++)
la[j]=la[j+1];
m--;
i--;
}
return m;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -