代码:

/*
* 将两个整型数组依照升序合并,而且过滤掉反复数组元素
*/ #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[i] == Array1[t] ) break;
else if (OutputArray[i] != 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[i] ) break;
else if( OutputArray[j] != Array2[i] && j == (iOutputNum - 1) )
{
OutputArray[iOutputNum] = Array2[i];
iOutputNum++;
} } } /* 进行排序 */
for(i = 0; i < iOutputNum; i++ )
{
for( j = i; j < iOutputNum; j++)
{
if( OutputArray[i] > OutputArray[j])
{
tmp = OutputArray[i];
OutputArray[i] = 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[i] );
} 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;
}

华为OJ平台试题 ——数组:整形数组合并的更多相关文章

  1. 华为OJ平台试题 —— 数组:输入n个整数,输出当中最小的k个

    输入n个整数.输出当中最小的k个: 代码: /*  * 输入n个整数,输出当中最小的k个.  * 输入说明:1.输入两个整数:2.输入一个整数数组  * 输出说明:输出一个整数数组  */ <p ...

  2. 华为OJ平台——字符串分隔

    题目描述: 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组: 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 输入 连续输入字符串(输入两次,每个字符长长度小于100)输 ...

  3. 华为OJ平台——输出最小的k个数

    输入n个整数,输出其中最小的k个. 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int *pInputArray, unsignedint ...

  4. 华为OJ平台——矩阵乘法

    题目描述: 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C. 输入: 1.第一个矩阵的行数 2.第一个矩阵的列数(也是第二个矩阵的行数) 3.第二个矩阵 ...

  5. 华为OJ平台——整形数组合并

    题目描述: 将两个整型数组按照升序合并,并且过滤掉重复数组元素 输入: 输入说明,按下列顺序输入: 1 输入第一个数组的个数 2 输入第一个数组的数值 3 输入第二个数组的个数 4 输入第二个数组的数 ...

  6. 华为OJ平台——整数的二进制中1的个数

    题目描述: 输入一个整数,求该整数的二进制表达中有多少个1.例如输入10,由于其二进制表示为1010,有两个1,因此输出2. 思路: 这是一道很基本的考查位运算的面试题.包括微软在内的很多公司都曾采用 ...

  7. 华为OJ平台——密码强度等级

    题目描述: 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二.字母: 0  ...

  8. 华为OJ平台——求最大连续bit数

    题目描述: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字    输出: 对应的二进制数字中1的最大连续数 思路: ...

  9. 华为OJ平台——统计字符串中的大写字母

    题目描述: 统计字符串中的大写字母的个数 输入: 一行字符串 输出: 字符串中大写字母的个数(当空串时输出0) 思路: 这一题很简单,直接判断字符串中的每一个字符即可,唯一要注意的一点是输入的字符串可 ...

随机推荐

  1. 双系统给ubuntu增加分区

    http://www.th7.cn/system/lin/201506/106338.shtml http://www.linuxidc.com/Linux/2012-06/61983.htm 因为本 ...

  2. windows电脑空间清理

    最近电脑空间又快满了,想下载一些好电影音频资源都要先临时清理一些文件才行,今天有时间就彻底整理一下,将整理过程及用到的好工具都记录一下,方面下次再遇到问题时可以很方面的参考执行. 1.分析磁盘空间占用 ...

  3. BZOJ 1024 SCOI2009 生日快乐 暴搜

    思路:eng...按照题意搜就好了 (一定要注意题面的n<=10--) 枚举断点...反正n<=10不怂 //By SiriusRen #include <cstdio> #i ...

  4. 无滚动条GridView少量图片展示

    import android.content.Context; import android.util.AttributeSet; import android.util.Log; import an ...

  5. FragmentPagerAdapter和FragmentStatePagerAdapter的区别

    FragmentPagerAdapter 1:简单的介绍: 该类内的每一个生成的 Fragment 都将保存在内存之中,因此适用于那些相对静态的页,数量也比较少的那种:如果需要处理有很多页,并且数据动 ...

  6. WebSocket handshake: Unexpected response code: 404

    在执行    http://www.cnblogs.com/best/p/5695570.html  提供的 websocket时候, 报错了 “WebSocket handshake: Unexpe ...

  7. iview2.0 父组件访问子组件 方法

    //从父组件中访问子组件 可以给子组件定义标识 通过ref="chead" 定义  通过父组件就可以访问了

  8. 使用sysbench 对mysql进行性能测试

    使用sysbench 对mysql进行性能测试 sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有My ...

  9. git diff的文字说明

    -U<n>--unified=<n> Generate diffs with <n> lines of context instead of the usual t ...

  10. Timestamp 转 date

    Timestamp startTime = new Timestamp(new Date().getTime());