问题描述
- 为什么没有输出,reorder函数出了问题?
- /*设计程序将两个递增有序的数组合并为一个递增有序的数组。*/
#include
int New[1000];
int main()
{void reorder(int a[]int naint b[]int nb);
int a[500]b[500]nanbi=0;
float bri[500];printf(""请输入递增有序数a组数据:(输入任意非整数停止输入)n"");
for(;i<500;i++)
{scanf(""%f""&bri[i]);
if(bri[i]==(int)bri[i]) a[i]=(int)bri[i]na=i+1;
else break;
}printf(""请输入递增有序数组b数据:(输入任意非整数停止输入)n"");
for(i=0;i<500;i++)
{scanf(""%f""&bri[i]);
if(bri[i]==(int)bri[i]) b[i]=(int)bri[i]nb=i+1;
else break;
}reorder(anabnb);
for(i=0;i<na+nb;i++)
printf(""%dt""New[i]);
return 0;
}void reorder(int a[]int naint b[]int nb)
{int ijknNew=na;
for(i=0;i for(i=0;i if(b[i]>=New[j]) {if(j==nNew-1) New[nNew]=b[i]nNew++;
else continue;
}
else {for(k=nNew;k>j;k--)
New[k]=New[k-1];
New[j]=b[i];
nNew++;
}
}
}
解决方案
参考:
http://wenwen.sogou.com/z/q587842587.htm