华为2016校招机试题(2015年9月) 海大上午场(包含实现代码,运行环境为VS2010)

23 篇文章 0 订阅

描述: 输入2个字符串,将其连接后输出
运行时间限制:无限制
内存限制:无限制
输入:两个字符串,以空格分开。
输出:连接后的字符串。
样例输入:123 abc
样例输出:123abc

#include<iostream>
#include<string>

using namespace std;

int main()
{
    string s1;
    string s2;
    string str_sum;

    cin>>s1>>s2;
    str_sum = s1+s2;
    cout<< str_sum <<endl;

    system("pause");
    return 0;
}

简单的均值滤波算法

描述:计算机在对模拟信号进行数据采集时,经常会受到干扰,导致读取的数据发生突变。这时就需要对采集的数据做特殊处理。该题目模拟对电池电压的数据采集,限定条件如下:
(1)电池电压的有效范围为【3300-4200】,包括3300和4200,无效值在计算时要丢弃
(2)输入为10组电池电压。包括有效值和无效值,每五组有效电压求一次平均值,作为最终输出值,有效值不够5组不输出
(3)输出的格式为“有效电压组数 平均值1 平均值2”。平均值有几组就输出几组,没有的话不输出。
(4)计算直接考虑整型数据即可,不考虑浮点数
除是输出外,中间不需要有任何的IO数据输出
运行时间限制:无限制
内存限制:无限制
输入:10组电压,为整型数据
输出:输出的格式为:“有效电压组数 平均值1 平均值2”,平均值有几组输出几组,没有的话不输出。“有效电压组数”必须输出

#include<iostream>

using namespace std;
const int cn = 10;  //10组数据
int main()
{
    int data[cn];       //电压数据
    int aver[cn/5]; //最后的平均值数据
    int cur = 0;    //平均值的个数
    int i;      //循环变量

    //输入数据
    for( i = 0; i < cn; i++ )
    {
        cin>>data[i];
    }

    int count = 0;  //计数,看是不是5个
    int temp_sum = 0;   //5个一组求和
    for(i = 0; i < cn; i++ )
    {

        if( data[i]>=3300 && data[i]<= 4200 )
        {
            count++;
            temp_sum += data[i];
        }

        if( count == 5 )
        {
                aver[cur] = temp_sum /5;
                cur++;
                temp_sum = 0;
                count = 0;
        }
    }
    //如果有效电压组数为0
    if( cur == 0 )
    {
        cout<< count <<endl;
        return 0;
    }
    cout << cur <<"   ";
    for(i = 0; i<cur; i++ )
        cout<< aver[i] <<"   ";

    system("pause");
    return 0;
}

字符串变换最小费用

描述:给出2个字串A,B,将A字串转化为B字串。转换一共有两种方式
删除连续的n个字符,一次操作费用为2,增加连续的m个字符(增加的字符是什么由你决定),一次操作费用为m+2,求把A变为B最小费用。
时间限制:无限制
运行限制:无限制
输入:第一行输入一个正整数T(1<=T<=10),表示有T组测试数据。
对于每组测试数据,两行字符串A,B(字符串长度不要超过2000,字符仅包含小写字母)
输出: 对于每组测试数据,输出一行一个整数,表示最小费用。
样例输入:
2
dsafsadfadf
fdfd
aaaaaaaa
bbbbbbbb

样例输出:
7
12

提示:‘dsafsadfadf ’变成‘fdfd’最少的代价的一种方法是:
1、‘dsafsadfadf’->’f’ 删除连续的10个,代价2
2、‘f’->‘fdfd’增加连续的3个(‘dfd’),代价为3+2=5
总共的最小代价为2+5=7,其他方法都不小于7

‘aaaaaaaa’变成‘bbbbbbbb’
将前面字符串全部删除,代价为2,增加3个连续的b,代价为10,则总代价为12


第3题的代码实现待解决后上传。如有大神做出,还望上传共享一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值