这道《程序员》下午题怎么做。

fowlerowen 2003-09-11 05:51:36
<函数1.2说明>
函数merge(int a[],int n,int b[],int m,int *c)是将两个从小到大有序数组,a和b复制合并出一个有序整数序列c,其中形参n和m分别是数组a和b的元素个数.
<函数1.2>
void merge(int a[],int n,int b[],int m,int *c)
{ int i,j;
 for (i=j=0;i<n&&j<m;)
{
  *c++=a[i]<b[j]?a[i++]:b[j++];
  while (____(2)____) *c++=a[i++];
  while (____(3)____) *c++=b[j++];
  }
...全文
53 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zeroins 2003-09-12
  • 打赏
  • 举报
回复
sorry~~
粗心了
^-^
commandconque 2003-09-12
  • 打赏
  • 举报
回复
我刚才发现:: fowlerowen (利物浦天才) 的程序如下:
for (i=j=0;i<n&&j<m;)
{
  *c++=a[i]<b[j]?a[i++]:b[j++];
  while (____(2)____) *c++=a[i++];
  while (____(3)____) *c++=b[j++];
  }
的程序与http://expert.csdn.net/Expert/topic/2245/2245600.xml?temp=.8715937的程序
完全不同,
如果while是在for内的,我坚持昨天的,
如果while是在for外,我同意今天的结论!
commandconque 2003-09-12
  • 打赏
  • 举报
回复
改正错误:
(i<n) 当b[]中无数可比而a[]中仍有数
(j<m) 当a[]中无数可比而b[]中仍有数
我将while循环的范围看成在for 循环内了
见笑,见笑

commandconque 2003-09-12
  • 打赏
  • 举报
回复
a[] b[]是整形数组又不是字符数组,怎么能用'\0'来判断结束!
proware 2003-09-12
  • 打赏
  • 举报
回复
a[i]!='\0';
b[j]!='\0';
commandconque 2003-09-12
  • 打赏
  • 举报
回复
这么多人给你捧场,是不是该加点芬??
---多嘴,多嘴
tankerwang 2003-09-12
  • 打赏
  • 举报
回复
噢,不对,还是应该有的。
不然的话会死循环。
jxnczxl(jxnczxl) 是对的。
同意楼上的。
tankerwang 2003-09-12
  • 打赏
  • 举报
回复
(2): (j == m)
(3): (i == n)

无需再&& i<n 或者&& j<m
因为这个会由前面的for语句来控制。
jxnczxl 2003-09-12
  • 打赏
  • 举报
回复
(2): j == m && i < n; \\b[]中无数可比而a[]中仍有数
(3): i == n && j < m; \\a[]中无数可比而b[]中仍有数
commandconque 2003-09-11
  • 打赏
  • 举报
回复
(j==m)&&(i<n) 当b[]中无数可比而a[]中仍有数
(i==n)&&(j<m) 当a[]中无数可比而b[]中仍有数
pianpian 2003-09-11
  • 打赏
  • 举报
回复
<2>!b[j]
<3>!a[i]
wangmin_yjitx 2003-09-11
  • 打赏
  • 举报
回复
(1)i<n
(2)j<m
Zeroins 2003-09-11
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2245/2245600.xml?temp=.8715937

2,947

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧