设为首页 收藏本站
查看: 1520|回复: 0

[经验分享] 华为OJ平台试题 ——数组:整形数组合并

[复制链接]

尚未签到

发表于 2017-7-10 20:38:31 | 显示全部楼层 |阅读模式
DSC0000.jpg


  代码:

/*
* 将两个整型数组依照升序合并,而且过滤掉反复数组元素
*/
#include <stdio.h>
#define  N 256
#define  M 512
/*
* 合并数组。删除反复的,并排序
*/
int CombineBySort(int Array1[], int iArray1Num,int Array2[], int iArray2Num,int OutputArray[], int  iOutputNum)
{
int i, j,t;
int tmp;
iOutputNum = 1;
OutputArray[0] = Array1[0];
/* 将数组1 复制给输出数组,并去掉同样的数字 */
for( t = 1; t < iArray1Num; t++)
{
for(i = 0; i < iOutputNum; i++ )
{
if(OutputArray == Array1[t] ) break;
else if  (OutputArray != Array1[t] && ( i == iOutputNum - 1 ) )
{
OutputArray[iOutputNum] = Array1[t];
iOutputNum++;
}
}
}
/* 将数组2中的每一个数与数组1中的进行比較假设不同。则增加到输出数组,假设同样,退出 */
for(  i = 0; i < iArray2Num; i++ )
{
for( j = 0; j < iOutputNum; j++ )
{
if( OutputArray[j]  == Array2 ) break;
else if( OutputArray[j]  != Array2 &&  j == (iOutputNum - 1)  )
{
OutputArray[iOutputNum] =  Array2;
iOutputNum++;
}
}
}

/* 进行排序 */
for(i = 0; i < iOutputNum; i++ )
{
for( j = i; j < iOutputNum; j++)
{
if( OutputArray > OutputArray[j])
{
tmp = OutputArray;
OutputArray = OutputArray[j];
OutputArray[j] = tmp;
}
}
}

return iOutputNum;
}


int main(void)
{
int  Array1Num, Array2Num, OutputNum = 0; /* Array1Num 第一个数组元素个数, Array2Num 第二个数组元素个数 */
int  aArray1[N]= {0}, aArray2[N]= {0}, aOutputArray[M]= {0};
int  i, j, k;
scanf("%d", &Array1Num);
for(i = 0; i < Array1Num; i++)
{
scanf("%d", &aArray1 );
}
scanf("%d", &Array2Num);
for( j = 0; j < Array2Num; j++)
{
scanf("%d", &aArray2[j] );
}
OutputNum = CombineBySort(aArray1, Array1Num, aArray2, Array2Num, aOutputArray, OutputNum);
for(k = 0; k < OutputNum; k++)
{
printf("%d", aOutputArray[k]);
}
return 0;
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-392526-1-1.html 上篇帖子: 华为机试题2[编程题] 汽水瓶 下篇帖子: [华为]在字符串中找出连续最长的数字串
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表