#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
main()
{
int n, m;
int i, j;
int K;
int *a1, *a2, *a3;
printf("请输入数组1的大小:");
scanf("%d", &n);
a1 = (int *)malloc(n * sizeof(int ));
printf("\n请输入数组2的大小:");
scanf("%d", &m);
a2 = (int *)malloc(m * sizeof(int ));
printf("\n请输入%d个数 ", n);
for(i = 0; i < n; i++)
{
scanf("%d", &a1[i]);
}
printf("\n请输入%d个数 ", m);
for(i = 0; i < m; i++)
{
scanf("%d", &a2[i]);
}
a3 = (int *)malloc((n*m) * sizeof(int ));
int c = 0;
for(i = 0; i < n; i++)
{
for(j = 0; j < m; j++)
{
a3[c] = a1[i] + a2[j];
c++;
}
}
int temp;
for(i = 0; i < c; i++)
{
for(j = i; j < c; j++)
{
if(a3[i] >= a3[j])
{
temp = a3[i];
a3[i] = a3[j];
a3[j] = temp;
}
}
}
while(1)
{
printf("\n请输入第K个最小数的K");
scanf("%d", &K);
printf("%d", a3[K-1]);
}
}
#include<stdlib.h>
#include<malloc.h>
main()
{
int n, m;
int i, j;
int K;
int *a1, *a2, *a3;
printf("请输入数组1的大小:");
scanf("%d", &n);
a1 = (int *)malloc(n * sizeof(int ));
printf("\n请输入数组2的大小:");
scanf("%d", &m);
a2 = (int *)malloc(m * sizeof(int ));
printf("\n请输入%d个数 ", n);
for(i = 0; i < n; i++)
{
scanf("%d", &a1[i]);
}
printf("\n请输入%d个数 ", m);
for(i = 0; i < m; i++)
{
scanf("%d", &a2[i]);
}
a3 = (int *)malloc((n*m) * sizeof(int ));
int c = 0;
for(i = 0; i < n; i++)
{
for(j = 0; j < m; j++)
{
a3[c] = a1[i] + a2[j];
c++;
}
}
int temp;
for(i = 0; i < c; i++)
{
for(j = i; j < c; j++)
{
if(a3[i] >= a3[j])
{
temp = a3[i];
a3[i] = a3[j];
a3[j] = temp;
}
}
}
while(1)
{
printf("\n请输入第K个最小数的K");
scanf("%d", &K);
printf("%d", a3[K-1]);
}
}