华为OJ平台试题 ——数组:整形数组合并
代码:
/*
* 将两个整型数组依照升序合并,而且过滤掉反复数组元素
*/ #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平台试题 ——数组:整形数组合并的更多相关文章
- 华为OJ平台试题 —— 数组:输入n个整数,输出当中最小的k个
输入n个整数.输出当中最小的k个: 代码: /* * 输入n个整数,输出当中最小的k个. * 输入说明:1.输入两个整数:2.输入一个整数数组 * 输出说明:输出一个整数数组 */ <p ...
- 华为OJ平台——字符串分隔
题目描述: 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组: 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 输入 连续输入字符串(输入两次,每个字符长长度小于100)输 ...
- 华为OJ平台——输出最小的k个数
输入n个整数,输出其中最小的k个. 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int *pInputArray, unsignedint ...
- 华为OJ平台——矩阵乘法
题目描述: 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C. 输入: 1.第一个矩阵的行数 2.第一个矩阵的列数(也是第二个矩阵的行数) 3.第二个矩阵 ...
- 华为OJ平台——整形数组合并
题目描述: 将两个整型数组按照升序合并,并且过滤掉重复数组元素 输入: 输入说明,按下列顺序输入: 1 输入第一个数组的个数 2 输入第一个数组的数值 3 输入第二个数组的个数 4 输入第二个数组的数 ...
- 华为OJ平台——整数的二进制中1的个数
题目描述: 输入一个整数,求该整数的二进制表达中有多少个1.例如输入10,由于其二进制表示为1010,有两个1,因此输出2. 思路: 这是一道很基本的考查位运算的面试题.包括微软在内的很多公司都曾采用 ...
- 华为OJ平台——密码强度等级
题目描述: 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二.字母: 0 ...
- 华为OJ平台——求最大连续bit数
题目描述: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字 输出: 对应的二进制数字中1的最大连续数 思路: ...
- 华为OJ平台——统计字符串中的大写字母
题目描述: 统计字符串中的大写字母的个数 输入: 一行字符串 输出: 字符串中大写字母的个数(当空串时输出0) 思路: 这一题很简单,直接判断字符串中的每一个字符即可,唯一要注意的一点是输入的字符串可 ...
随机推荐
- poj_2187求凸包直径
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #i ...
- [Atcoder Grand 006 C] Rabbit Exercise 解题报告 (期望)
题目链接:https://www.luogu.org/problemnew/show/AT2164 https://agc006.contest.atcoder.jp/tasks/agc006_c 题 ...
- NSURLSession的作用
NSURLSession的作用: 1.全局配置: 2.任务生成与管理: 3.数据链接管理: po self.urlSession.delegateQueue.operations <__NSAr ...
- sys.path
sys.path.append() 和 sys.path.insert() python程序中使用 import XXX 时,python解析器会在当前目录.已安装和第三方模块中搜索 xxx,如果都搜 ...
- SPOJ8222 NSUBSTR - Substrings 后缀自动机_动态规划
讲起来不是特别好讲.总之,如果 $dp[i+1]>=dp[i]$,故$dp[i]=max(dp[i],dp[i+1])$ Code: #include <cstdio> #inclu ...
- vue 退出动画无效解决方法
遇到一个问题:给模态框加入退出动画,进入的动画效果是有的,可是退出的动画就没有了. 写个简单的结构: <div class="mask" v-show="warni ...
- HDU-2045 不容易系列之(3)—— LELE的RPG难题 找规律&递推
题目链接:https://cn.vjudge.net/problem/HDU-2045 找规律 代码 #include <cstdio> long long num[51][2]; int ...
- hihoCoder #1127 : 二分图二·二分图最小点覆盖和最大独立集
#1127 : 二分图二·二分图最小点覆盖和最大独立集 Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB 描述 在上次安排完相亲 ...
- ArcGIS api for javascript——创建地图
描述 这个示例显示ArcGIS Server的一个地图.ArcGIS Server地图是缓存的,意味着它有服务器管理员建来提升性能的一组预先渲染的切片.由于这个原因地图通过ArcGISTiledMap ...
- Vmware qemu-kvm 虚拟化測试
[root@kvm1 cloud]# lsmod | grep kvm kvm_intel 55496 3 kvm 337772 1 kvm_intel [root@kvm1 cloud]# egre ...