#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void bubble(int* p, int n);
void choose(int* p, int n);
void del(int* p, int na, int m, int l);
void delm(int* p, int n);
void add(int* p, int na, int* q, int nb, int* z, int nc);
int count = 0;
int main()
{
srand(time(0));
int na, nb, i, nc;
int m, l;
int a[10], b[10], c[20];
int* p = a;
int* q = b;
int* z = c;
scanf("%d %d", &na, &nb);
nc = na + nb;
for (i = 0; i < na; i++)//随机生成n个数组成数组a
{
a[i] = rand() % 100;
}
for (i = 0; i < nb; i++)//随机生成n个数组成数组b
{
b[i] = rand() % 100;
}
printf("a\n");
for (i = 0; i < na; i++)
printf("%d ", p[i]);
printf("\n");
printf("b\n");
for (i = 0; i < nb; i++)
printf("%d ", q[i]);
printf("\n");
//scanf("%d %d",&m,&l);//输入第三题的两个数
//bubble(p,na);//第一题
//choose(p, na);//第二题
//del(p,na,m,l);//第三题
delm(p, na);//第四题
//add(p, na, q, nb, z, nc);//第五题
printf("a\n");
for (i = 0; i < na - count; i++)
printf(" %d", a[i]);
printf("\n");
printf("b\n");
for (i = 0; i < nb; i++)
printf(" %d", b[i]);
printf("\n");
//printf("第三题:\n");
/*
for (i = 0; i < na - l; i++)//第三题专属输出
printf("%d ", p[i]);
printf("\n");
*/
return 0;
}
void bubble(int* p, int n)
{
int i, j, t;
for (i = 1; i < n; i++)
for (j = 0; j < n - i; j++)
if (p[j] > p[j + 1])
{
t = p[j];
p[j] = p[j + 1];
p[j + 1] = t;
}
}
void choose(int* p, int n)
{
int i, index, j, t;
for (i = 0; i < n - 1; i++)
{
index = i;
for (j = i + 1; j < n; j++)
{
if (p[index] < p[j])
{
index = j;
}
}
t = p[i];
p[i] = p[index];
p[index] = t;
}
}
void del(int* p, int n, int m, int l)
{
int i, j;
for (i = m; i <= n - l; i++)
{
p[i - 1] = p[i + l - 1];
}
/*
for (i = m + l; i < n; i++)
{
p[i - 1] = 0;
}
*/
}
void delm(int* p, int n)
{
/*方法二
int i, index = 0;
for (i = 0; i < n; i++)
{
if (p[index] < p[i])
index = i;
}
//for(i=index;i<n-1;i++)
//{
//p[i]=p[i+1];
//}
printf("第四题:\n");
for (i = 0; i < n; i++)
{
if (p[index] != p[i])
printf("%d ", p[i]);
}
printf("\n");
*/
int i, index = 0, j = 0;
for (i = 0; i < n; i++)
{
if (p[index] < p[i])
index = i;
}
for (i = 0; i < n; i++)
{
if (p[index] == p[i])
count++;
}
for (i = 0;i < n;i++)
{
if (p[index] == p[i])
{
j++;
}
else
{
p[i - j] = p[i];
}
}
}
void add(int* p, int na, int* q, int nb, int* z, int nc)
{
int i;
choose(p, na);
choose(q, nb);
for (i = 0; i < na; i++)
{
z[i] = p[i];
}for (i = na; i < na + nb; i++)
{
z[i] = q[i - na];
}
choose(z, nc);
printf("第五题:\n");
printf("c\n");
for (i = 0; i < nc; i++)
printf(" %d", z[i]);
printf("\n");
}