有两个整型数组A(N),B(M)(N>0,M>0),且已知A(1)≥A(2)≥A(3)≥…≥A(N),B(1)≥B(2)≥B(3)≥…≥B(M),请编写一段程序将数组A(N)与B(M)中的元素合并为一个新的数组C(M+N),且C(1)≥C(2)≥C(3)≥…≥C(N+M)
请用 BASIC语言与C语言 写段程序。【两个都要,谢谢】
可以是自拟数组元素【这个希望能用BASIC写下】,也可以是手动输入数组里的元素。
写个很简单的VB与C语言程序~ 数组和排序
答案:1 悬赏:10 手机版
解决时间 2021-02-07 21:55
- 提问者网友:山高云阔
- 2021-02-07 17:08
最佳答案
- 五星知识达人网友:妄饮晩冬酒
- 2021-02-07 18:21
C语言的(无所谓输入的数字大小顺序,反正排序算法也有,但是数组大小限定为5个元素):
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
main()
{ int a[5],b[5],c[10],i,j,temp;
printf("plese input the array A\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("plese input the array B\n");
for(i=0;i<5;i++)
scanf("%d",&b[i]);
for(i=0;i<5;i++)
c[i]=a[i];
for(i=5;i<10;i++)
c[i]=b[i-5];
for(i=0;i<10;i++)
for(j=1;j<10-i ;j++)
if(c[j-1]<c[j] )
{
temp=c[j-1];
c[j-1]=c[j];
c[j]=temp;
}
for(i=0;i<10;i++)
printf("%d ",c[i]);
getch();
}
VB的(无其他控件,点击窗体执行,数组大小无限制,顺序无限制)
Private Sub Form_Click()
Dim a() As String, b() As String, c() As Integer '动态数组
Dim StrTemp As String
'输入的方式太多了,为了方便,这里用输入框输入的,并且尽量减少输入次数
'这里也可以用for循环每次输入一个a元素来实现,但是个数太多很麻烦
StrTemp = InputBox("请输入A数组的元素,中间用空格隔开")
a = Split(StrTemp, " ")
'
StrTemp = InputBox("请输入B数组的元素,中间用空格隔开")
b = Split(StrTemp, " ")
'数组合并
ReDim c(UBound(a) + UBound(b) + 2)
For i = 0 To UBound(a)
c(i) = a(i)
Next
For i = UBound(a) + 1 To UBound(a) + UBound(b) + 1
c(i) = b(i - UBound(a) - 1)
Next
'冒泡排序
For i = 0 To UBound(c) - 1
For j = UBound(c) - 1 To i + 1 Step -1
If c(j) < c(j - 1) Then
t = c(j)
c(j) = c(j - 1)
c(j - 1) = t
End If
Next j
Next i
'输出结果
For i = 0 To UBound(c) - 1
Print c(i)
Next
End Sub
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
main()
{ int a[5],b[5],c[10],i,j,temp;
printf("plese input the array A\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("plese input the array B\n");
for(i=0;i<5;i++)
scanf("%d",&b[i]);
for(i=0;i<5;i++)
c[i]=a[i];
for(i=5;i<10;i++)
c[i]=b[i-5];
for(i=0;i<10;i++)
for(j=1;j<10-i ;j++)
if(c[j-1]<c[j] )
{
temp=c[j-1];
c[j-1]=c[j];
c[j]=temp;
}
for(i=0;i<10;i++)
printf("%d ",c[i]);
getch();
}
VB的(无其他控件,点击窗体执行,数组大小无限制,顺序无限制)
Private Sub Form_Click()
Dim a() As String, b() As String, c() As Integer '动态数组
Dim StrTemp As String
'输入的方式太多了,为了方便,这里用输入框输入的,并且尽量减少输入次数
'这里也可以用for循环每次输入一个a元素来实现,但是个数太多很麻烦
StrTemp = InputBox("请输入A数组的元素,中间用空格隔开")
a = Split(StrTemp, " ")
'
StrTemp = InputBox("请输入B数组的元素,中间用空格隔开")
b = Split(StrTemp, " ")
'数组合并
ReDim c(UBound(a) + UBound(b) + 2)
For i = 0 To UBound(a)
c(i) = a(i)
Next
For i = UBound(a) + 1 To UBound(a) + UBound(b) + 1
c(i) = b(i - UBound(a) - 1)
Next
'冒泡排序
For i = 0 To UBound(c) - 1
For j = UBound(c) - 1 To i + 1 Step -1
If c(j) < c(j - 1) Then
t = c(j)
c(j) = c(j - 1)
c(j - 1) = t
End If
Next j
Next i
'输出结果
For i = 0 To UBound(c) - 1
Print c(i)
Next
End Sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯