题目有三道,个人感觉比较简单,这里简单的说一下:

1.第一道:将输入的字符串中的大写字母转小写输出,错误的字符不管(除大小写之外的都是错误的)。

 1 #include <stdio.h>
 2 #define MAX 1001
 3
 4 // 输入字符串
 5 char str[MAX];
 6
 7
 8 int main()
 9 {
10     int i=0;
11     scanf("%s",str);
12     while(str[i]){
13         if(str[i]>='a' &&str[i]<='z') printf("%c",str[i]);
14         else if(str[i]>='A' && str[i]<='Z') printf("%c",str[i]+32);
15         i++;
16     }
17     return 0;
18 }

View Code

2.第二道:题目是集五福相关的,大概意思是:一群人都有一些福字,大家可以交换和赠与,问对多可以集合多少套福?这里输入的是11100这样的字符串,代表每一个人有的福字集合,1代表对应的福字有,0则是没有。

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 int mark[5];
 5 char str[5]; // 每一个人五福情况
 6
 7 int findMinPos(int arr[],int n)
 8 {
 9     int i,min=0;
10     for(i=1;i<n;i++)
11     {
12         if(arr[i]<arr[min]) min = i;
13     }
14
15     return min;
16 }
17
18 int main()
19 {
20     int i;
21     int num;
22     while(scanf("%s",str)!=EOF)
23     {
24         for(i=0;i<5;i++) {
25             num = str[i] - '0';
26             if(num==1) mark[i]++;
27         }
28     }
29
30    // 找到最小的
31     printf("%d\n",mark[findMinPos(mark,5)]);
32
33     return 0;
34 }

View Code

3.第三道:后缀表达式求值:这里数字只有0-9和A-E,运算符只有+,-,*。

 1 #include <stdio.h>
 2 #define MAX 1001
 3
 4 // 获得字符串的值
 5 int getCharVal(char c)
 6 {
 7     if(c>='0' &&c<='9') return c - '0';
 8     else if(c>='A' && c<='F') return c - 'A' + 10;
 9     else if(c>='a' && c<='f') return c - 'a' + 10;
10     else return -1;
11 }
12
13 // 判断c是不是运算符
14 int isOperationChar(char c)
15 {
16     return c=='+' || c=='-' || c=='*';
17 }
18
19 // 计算两数结果
20 int Calu(int num1,int num2,char c)
21 {
22     switch(c)
23     {
24         case '+': return num1 + num2;
25         case '-': return num2 - num1;
26         case '*': return num1 * num2;
27     }
28
29     return -MAX;
30 }
31
32 // 计算后缀表达式的值并返回
33 int postfixCalc(const char *input)
34 {
35     int i=0; // 记录字符串位置
36     char c;
37     int num1,num2; //双目运算符的数字
38
39     // 栈
40     int stack[MAX];
41     int pos = 0;
42     c=input[i];
43
44     while( c ){
45
46         // 如果是数字
47         if(isOperationChar(c)==0){
48             stack[pos++] = getCharVal(c);
49         } else { // 是运算符
50
51             num1 = stack[pos-1];
52             num2 = stack[pos-2];
53             stack[pos-2] = Calu(num1,num2,c);
54             pos--;
55         }
56         c = input[++i];
57     }
58
59     // 返回计算结果
60     return stack[0];
61 }
62
63 int main()
64 {
65     char str[MAX];
66     scanf("%s",str);
67     printf("%d\n",postfixCalc(str));
68
69     return 0;
70 }

View Code

转载于:https://www.cnblogs.com/xiangbin1207/p/6611172.html

2017春季华为实习生编程题相关推荐

  1. 美团点评2017秋招笔试编程题

    美团点评2017秋招笔试编程题 1, 大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步.求玩家走到第n步(n<=骰子最大点数且是 ...

  2. 【牛客网】网易2017内推笔试编程题合集(二)

    1.[*][编程题] 混合颜料 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料.为了让问题简单,我们用正整数表示不同颜色的颜料.你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买 ...

  3. 腾讯2017暑期实习生编程题(三题)

    总的来说,作为暑期实习生的题目,三题都不难,仔细思考都能顺利做出来 PS:我喜欢漂亮点的代码风格O(∩_∩)O 对于A题,求个逆序,再求最长公共子序列就可以了,这里回头还可以复习一下最长公共子串怎么求 ...

  4. [网易2017实习生编程题] 魔力手环

    [Problem 5]分饼干 题目 小易拥有一个拥有魔力的手环上面有n个数字(构成一个环),当这个魔力手环每次使用魔力的时候就会发生一种奇特的变化:每个数字会变成自己跟后面一个数字的和(最后一个数字的 ...

  5. 矩阵快速幂: 网易2017实习生编程题 魔力手环

    描述: 小易拥有一个拥有魔力的手环上面有n个数字(构成一个环),当这个魔力手环每次使用魔力的时候就会发生一种奇特的变化:每个数字会变成自己跟后面一个数字的和(最后一个数字的后面一个数字是第一个),一旦 ...

  6. 2017年华为实习生面经

    今天(2017年4月8号)华为现场面试,地址是广州东站附近的一家酒店,短信通知11点报道,去到酒店10:10,差不多10:30喊我们去前台报道(他是按照短信要求的时间进行分批报道),流程简单,一共两面 ...

  7. 招银信用卡中心-技术方向实习生-编程题-使用python

    题目都偏规律总结类型,只要思路对了,很容易做出来,不像华为机试一道字符串+两道算法题-- 第一题 有n个同学,老师买了n块巧克力(1<n<10^5),按照学号顺序依次来办公室拿巧克力,每个 ...

  8. 吉比特2017年秋招编程题:字符串排序

    date:2017/8/27 厦门吉比特网络技术股份有限公司在线笔试 (#isalpha函数判断字母 #isdigit函数判断数字) 输入一串字符串(包含字符和数字)如:sd341a 将字符串进行排序 ...

  9. 2016网易实习生编程题:n个骰子的和等于m

    题目 骰子的点数是1 到 6,当有n个骰子的时候,其点数和等于m的数量 如当n = 4 m = 23时候 有下面四种: 5666 6566 6656 6665 解题 深度优先,开始第一感觉很复杂,然后 ...

最新文章

  1. 设计模式之三 装饰模式
  2. 新版上线时发现的数据库优化问题
  3. 【小白学习PyTorch教程】九、基于Pytorch训练第一个RNN模型
  4. 从知乎了解到,为什么Mysql禁用存储过程、外键和级联?
  5. java面试宝典 之 物流配送路径优化问题分析与算法解读
  6. ssm框架重定向_Java SSM 框架面试题,附答案!
  7. mongodb 数字 _id_MongoDB学习笔记MongoDB简介及数据类型
  8. c语言怎么让写的函数兼容int型和char型_既然C语言void指针是“万能指针”,那么malloc还需类型转换吗?...
  9. mycli mysql_MyCLI :易于使用的 MySQL/MariaDB 客户端
  10. 吴恩达《机器学习》学习笔记六——过拟合与正则化
  11. 大屏难看怎么办?这份大屏制作教程请收好
  12. 按钮加ico图标_花里胡哨系列 —— 自定义U盘图标
  13. 学术检索产品比较分析
  14. Mac OS X:解决开机总是显示“电脑关机是因为发生了问题”
  15. Surciata源码分析之IpsNFQ模式(1)
  16. Day390391392.-ElasticSearch入门 -ElasticSearch
  17. 订单23系统服务器,死亡搁浅寻物系统服务器任务内容介绍-死亡搁浅寻物系统服务器任务流程详情_牛游戏网...
  18. 基础语法篇_11——坐标空间和转换,图形的保存和重绘,元文件
  19. 话说 synchronized
  20. springboot依赖lib外置打成压缩包,以及snapshot依赖jar包ClassNotFoundExcepttion异常的解决办法

热门文章

  1. Linux系统编程之进程与线程控制原语对比
  2. AI时代!我选Python因为Python是人工智能的未来
  3. raptor五个数排序流程图_数据结构与算法(一):排序(上)
  4. php修改手机号业务逻辑层,PHP实现极限业务逻辑重用的基础教程
  5. 018_TemplateModel
  6. 006_url-pattern配置
  7. 071_设置日期方法
  8. gpu超算算法_俄罗斯科学家:使用GPU将个人电脑转变为超级电脑
  9. linux查看oracle的sga设置,Oracle基础教程之设置系统全局区SGA命令
  10. mysql delete删除列,在MySQL中删除我的Key列 (Delete my Key column in MySQL)