| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:求大神帮忙解决个问题??
只看楼主 加入收藏
caimuyin
Rank: 1
等 级:新手上路
威 望:1
帖 子:32
专家分:2
注 册:2015-3-23
结帖率:40%
收藏
已结贴  问题点数:20 回复次数:8 
求大神帮忙解决个问题??
#include "stdio.h"
#define N  100
#define L  100
  main()
{
  int a[N],b[L];
  int c[N+L];
  int i,j,k,n,m,z,x;
printf("输入两个数组的元素数 n,m\n:");
scanf("%d,%d",&n,&m);
printf("输入数组a的%d个元素",n);                          这一段是输入的 两个数组
  for(i=0;i<n;i++)
      scanf("%d",&a[i]);
printf("\n输入数组b的%d个元素",m);
  for(j=0;j<m;j++)
      scanf("%d",&b[j]);

     !!!!!!!! 两个数字 加起来  在冒泡排序 、!!!!!!
   
      
   printf("按升序合并的数组为");                        这部分为  输出                    求中间的代码
   for(k=0;k<n+m+1;k++)
       printf("\n%d",c[k]);
}

[ 本帖最后由 caimuyin 于 2015-4-7 23:40 编辑 ]
搜索更多相关主题的帖子: 元素 include 
2015-04-07 23:36
caimuyin
Rank: 1
等 级:新手上路
威 望:1
帖 子:32
专家分:2
注 册:2015-3-23
收藏
得分:0 
!!!!!!!! 两个数字 加起来  在冒泡排序 、!!!!!!

谁能在这个位置 帮我加上合适的  代码啊 、、


。。目标是  输入两个升序的数组,并且合并成一个 升序的数组  然后输出、、

大神如果不愿意看话 也可以重新 写过 ,,拜托大神们了
2015-04-07 23:39
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:20 
!!!!!!!! 两个数字 加起来  在冒泡排序 、!!!!!!
按我理解
这是楼主让大家补充代码的地方?

Only the Code Tells the Truth             K.I.S.S
2015-04-07 23:40
caimuyin
Rank: 1
等 级:新手上路
威 望:1
帖 子:32
专家分:2
注 册:2015-3-23
收藏
得分:0 
回复 3楼 longwu9t
回答正确
2015-04-07 23:42
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
回复 2楼 caimuyin
a b两个数组从代码上看
是无序的两数组

这样的两个数组合并的话
就没有多少顾忌了
直接循环两个数组复制到新数组里就行了

然后对新数组运行排序即可

在这种情况下
稳定排序的冒泡排序
其效率还不如直接用C标准库里的QSORT

这只是我的建议
还请楼主思量……

Only the Code Tells the Truth             K.I.S.S
2015-04-07 23:44
caimuyin
Rank: 1
等 级:新手上路
威 望:1
帖 子:32
专家分:2
注 册:2015-3-23
收藏
得分:0 
并不懂   标准库是什么  我只是刚刚接触  C语言 、
2015-04-07 23:45
caimuyin
Rank: 1
等 级:新手上路
威 望:1
帖 子:32
专家分:2
注 册:2015-3-23
收藏
得分:0 
回复 5楼 longwu9t
我只是想完成这个  目的
至于运算的效率和机器运行的 简化  以后再考虑吧
2015-04-07 23:46
caimuyin
Rank: 1
等 级:新手上路
威 望:1
帖 子:32
专家分:2
注 册:2015-3-23
收藏
得分:0 
回复 5楼 longwu9t
for(i=0;i<n;i++)
   {
    c[k]=a[i];
    k++;
   }
  
for(j=0;j<m;j++)
   {
    c[k]=a[j];
    k++;
   }

我加了 这样 的两个循环 可是 没有用啊
2015-04-07 23:48
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>

#define N  100

int cmp(const void *a, const void *b) {
    return *(int*)a - *(int*)b;
}

void eat_line(void){
    int c;
    while((c = getchar()) != '\n' && c != EOF)
        continue;
}

int  main(void) {
    int a[N] = {0}, b[N] = {0}, c[2 * N] = {0}, *p = c, i, len;
    puts("数组a初始化");

    for(i = 0; i < N; i++) {
        if((scanf("%d",  a + i)) != 1) break;
        else *p++ = a[i];
    }

    eat_line();

    puts("数组b初始化");
    for(i = 0; i < N; i++) {
        if((scanf("%d",  b + i)) != 1) break;
        else *p++ = b[i];
    }

    len = p - c;

    qsort(c, len, sizeof(int), cmp);

    for(i = 0; i < len; i++)
        printf("%d ", c[i]);

    puts("");

    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册

qsort就是C标准库里的快速排序函数 请善用C标准库……

[ 本帖最后由 longwu9t 于 2015-4-8 00:11 编辑 ]

Only the Code Tells the Truth             K.I.S.S
2015-04-08 00:08
快速回复:求大神帮忙解决个问题??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031381 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved