这题快搞死我了
有两个数组A和B,数据均为10个(有正有负),并且都是从小到大存放,将两个数组的数据合并成一个数组C,也要从小到大存放数据。怎么都搞不出,请高手帮忙!不胜感激!! 就是一个简单的排序问题而已,可以声明一个array;然后把两个数组复制进去,冒泡排序 c语言代码如下,仅供参考.#include<stdio.h>
int main()
{
int a,b,c;
int i,j,k;
printf("输入a数组的10个元素:\n");
for(i = 0;i<10;i++)
scanf("%d",&a);
printf("输入b数组的10个元素:\n");
for(i=0;i<10;i++)
scanf("%d",&b);
i = j = k = 0;
while(i<10 && j< 10)
if(a <= b)
{
c = a;
i++;
k++;
}
else
{
c = b;
j++;
k++;
}
if(i != 10)
{
for(;i<=9;i++)
c = a;
}
if(j != 10)
{
for(;j<=9;j++)
c = b;
}
printf("c数组的元素为:\n");
for(k = 0;k<20;k++)
printf("%-5d",c);
return 0;
} 玩酷子弟lv 发表于 2012-6-4 15:28 static/image/common/back.gif
c语言代码如下,仅供参考.
哥么你写的是错的, #include<stdio.h>
void main()
{
int a,b,c;
int i,j,k,ax;
printf("输入a数组的10个元素:\n");
for(i = 0;i<10;i++)
scanf("%d",&a);
printf("输入b数组的10个元素:\n");
for(i=0;i<10;i++)
scanf("%d",&b);
k=j=0;
for(i=0;i<20;i++)
{
if(i<10)
{
c=a;
j++;
}
else if(i>=10)
{
c=b;
k++;
}
}
for(i=0;i<20;i++)
for(j=0;j<20-i;j++)
{
if(c>c)
{
ax=c;
c=c;
c=ax;
}
}
for(i=0;i<20;i++)
{
printf("%d ",c);
}
}首先把a数组和b数组放到c数组中然后冒泡排序 lezhonzhen 发表于 2012-6-4 16:50 static/image/common/back.gif
首先把a数组和b数组放到c数组中然后冒泡排序
首先把a数组和b数组放到c数组中然后冒泡排序. lezhonzhen 发表于 2012-6-4 16:48 static/image/common/back.gif
哥么你写的是错的,
楼主说的是a数组和b数组本身是有序的~~ a数组,b数组本身就是有序的,不用管,主要是让C数组按从小到大排列。我刚学汇编,我想用汇编语言实现啊!哥们! 用汇编语言表示!!哥们! 晚上回去写给你……挺简单的一个程序,定义3个字节行数据段分别存放三个数组,第一,二个10个字节,存放你要加的数据,第三个是20个字节,将前两个数组内容复制到此内存中,然后冒泡……就可以了!循环的时候注意将cx入栈!自己试着编一下,至于冒泡法不知道的话就百度一下,挺简单的……
页:
[1]