用c语言写一个程序:输入共三行 第一行代表第一堆数(总个数小于200),第二行代表第二堆数(总个数小于200),第三行一个数字k,代表需要取得数字个数;输出代表最大的数字
时间: 2023-02-07 16:01:54 浏览: 87
以下是一种使用 C 语言实现的方法:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_NUM 200
int main()
{
// 定义三个数组存储三堆数
int nums1[MAX_NUM], nums2[MAX_NUM], nums3[MAX_NUM];
// 定义三个变量分别存储三堆数的数量
int n1, n2, n3;
// 定义变量 k 存储需要取得数字的数量
int k;
// 使用 scanf 函数输入三堆数的数量和 k 的值
scanf("%d%d%d%d", &n1, &n2, &n3, &k);
// 使用循环输入三堆数
for (int i = 0; i < n1; i++)
{
scanf("%d", &nums1[i]);
}
for (int i = 0; i < n2; i++)
{
scanf("%d", &nums2[i]);
}
for (int i = 0; i < n3; i++)
{
scanf("%d", &nums3[i]);
}
// 合并三堆数
int nums[MAX_NUM * 3];
int n = 0;
for (int i = 0; i < n1; i++)
{
nums[n++] = nums1[i];
}
for (int i = 0; i < n2; i++)
{
nums[n++] = nums2[i];
}
for (int i = 0; i < n3; i++)
{
nums[n++] = nums3[i];
}
// 排序
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (nums[i] < nums[j])
{
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
// 输出结果
printf("%d\n", nums[k - 1]);
return 0;
}
```
在这段代码中,我们使用三个数组来分别存储三堆数,并使用循环读入
阅读全文