华为机试题目
来源:互联网 发布:seo标题和关键字 编辑:程序博客网 时间:2024/05/02 20:20
在网上找了一些华为机试的题目,每日坚持写代码。
1、字符、字符串与数值间的转换
分析:
int i = (ch-48); 这个语句完成了单个字符 ch 转化为数字并存入整型变量 i 的功能。因为字符 0 在 ASCII 码中对应了 48,后面的数值也是以 1 递增,所以用它对应的ASCII码减去48就是这单个字符的整数形式.如此,我们也可以反过来,实现将整型转换成字符:char ch = (i+48);字符串之间的转换,我们不能同时将一个字符串中的所有字符进行转换,不调用外部函数的话,我们只能利用上述这一特性把字符串一个一个的转换。
#include <stdio.h>#include <string.h>int StringInt(const char *str) // 将字符串转换为int类型并返回 { int val = 0; int index = ( strlen(str) - 1 ); // 取索引值 int pn = 1; // 表示是正数还是非正数, 正数表示为1, 非正数表示为0 int f = 1, i = 1; // 用于后面的循环 const char *pChar = str; if ('-' == *pChar) { // 判断字符串第一个元素是否为负号 index--; pn = 0; *pChar++; } while (index >= 0) { f = 1; for (i=1; i<=index; i++) f *= 10; val += ( (*pChar++) - 48 ) * f; index--; } if (0 == pn) val *= -1; // 转换为负数 return val;}int main(void){ printf("%d\n", StringInt("333")); printf("%d\n", StringInt("0")); printf("%d\n", StringInt("-0")); printf("%d\n", StringInt("-321")); return 0;} /*参考输出结果:333 0 0 -321 */
0 0
- 华为机试题目
- 华为机试题目
- 2014华为机试题目
- 华为2014机试题目
- 华为2014机试题目
- 华为机试题目整理
- 华为机试题目 若干
- 华为2016机试题目
- 华为2013年机试题目整理
- 华为2015机试题目汇总
- 华为2015校园招聘机试题目
- 华为机试题目---字符串替换
- 009语音识别-华为机试题目
- 华为2016机试题目: 最高分是多少
- 华为机试题目之投票统计
- 2016华为机试题目:好友推荐
- 华为2016机试题目01
- 华为2016机试题目02
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
- Fish的烦恼
- 3390: [Usaco2004 Dec]Bad Cowtractors牛的报复 最大生成树
- 设计模式感触之代理模式应用
- leetcode总结4 -- 关于two pointers两个容易考的题目
- 华为机试题目
- 包
- 插入usb之后发生了什么
- Swift笔记(一)
- C# 正则表达式
- Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 【转】
- Spring对RMI的支持
- 3、Java常用的运算符
- Android permission 动态申请、授权