追梦LG 发表于 2012-6-4 09:44:07

这题快搞死我了

有两个数组A和B,数据均为10个(有正有负),并且都是从小到大存放,将两个数组的数据合并成一个数组C,也要从小到大存放数据。怎么都搞不出,请高手帮忙!不胜感激!!

川本姨夫 发表于 2012-6-4 15:15:56

就是一个简单的排序问题而已,可以声明一个array;
然后把两个数组复制进去,冒泡排序

玩酷子弟lv 发表于 2012-6-4 15:28:43

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;
}

lezhonzhen 发表于 2012-6-4 16:48:54

玩酷子弟lv 发表于 2012-6-4 15:28 static/image/common/back.gif
c语言代码如下,仅供参考.

哥么你写的是错的,

lezhonzhen 发表于 2012-6-4 16:50:22

#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:56

lezhonzhen 发表于 2012-6-4 16:50 static/image/common/back.gif
首先把a数组和b数组放到c数组中然后冒泡排序

首先把a数组和b数组放到c数组中然后冒泡排序.

玩酷子弟lv 发表于 2012-6-4 17:10:52

lezhonzhen 发表于 2012-6-4 16:48 static/image/common/back.gif
哥么你写的是错的,

楼主说的是a数组和b数组本身是有序的~~

追梦LG 发表于 2012-6-4 18:27:33

a数组,b数组本身就是有序的,不用管,主要是让C数组按从小到大排列。我刚学汇编,我想用汇编语言实现啊!哥们!

追梦LG 发表于 2012-6-4 18:30:07

用汇编语言表示!!哥们!

天使羽翼蒋坤 发表于 2012-6-4 19:48:58

晚上回去写给你……挺简单的一个程序,定义3个字节行数据段分别存放三个数组,第一,二个10个字节,存放你要加的数据,第三个是20个字节,将前两个数组内容复制到此内存中,然后冒泡……就可以了!循环的时候注意将cx入栈!自己试着编一下,至于冒泡法不知道的话就百度一下,挺简单的……
页: [1]
查看完整版本: 这题快搞死我了