1:首先,根据课本上的程序,是这样的:

#include "stdafx.h"
#include "iostream"
using namespace std;
int StrToInt(char* string); int StrToInt(char* string)
{
int number=;
while(*string!=)
{
number=number*+*string-'';
++string;
}
return number;
} int main(int argc, char* argv[])
{
char *a="";//定义一个字符串
//while(*a!=0)//测试是不是字符串
//{
//cout<<*a<<endl;
//++a;
//}
cout<<StrToInt(a)<<endl;
return ;
}

2:然后对弈number=number*10+*string-'0';提出疑问。number是整数,string是指向字符串的指针,*string就是字符串里的字符,然后“字符-字符=?”。注意:C中的字符的算术运算。实际上是字符的ASCII代码运算。因此,*string-'0'是其相应的ASCII代码做减法。

3:将代码改成键盘输入,屏幕输出的形式后,如下所示:

#include "stdafx.h"
#include "iostream"
using namespace std;
int StrToInt(char* string); int StrToInt(char* string)
{
int number=;
while(*string!=)
{
number=number*+*string-'';
++string;
}
return number;
} int main(int argc, char* argv[])
{ //char a='y';//单引号代表这个东西是字符,双引号代表这个东西是字符串
//char *b=&a;
//cout<<a<<endl;//输出字符y
//cout<<b<<endl;//输出字符y的地址
char str1[];//字符串数组的名就是字符串的第一个字符的地址
cin>>str1;
//cout<<str1<<endl;//以字符串的形式输出
cout<<StrToInt(str1)<<endl;
return ;
}

4:考虑到非数字字符和正负号的时候,并将代码改成输入一段字符串,然后输出整数。如下所示:

5:考虑最大正整数和最小负整数以及溢出。

剑指offer:把一个支付算转化为整数的更多相关文章

  1. 剑指offer系列53---字符串转化成整数

    [题目]将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数 * []整数(32位)最大值:0X7fff ffff( 0111 1111 1111 1111 1111 1111 1111 1 ...

  2. 《剑指offer》面试题32----从1到n整数中1出现的次数

    题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次. 解法一:不考虑时间效率的解法(略) ps ...

  3. [剑指Offer]50-第一个只出现一次的字符

    题目链接 https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c?tpId=13&tqId=11187&t ...

  4. 剑指Offer面试题:10.数值的整数次方

    一.题目:数值的整数次方 题目:实现函数double Power(doublebase, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 在.N ...

  5. 剑指offer 12.代码的完整性 数值的整数次方

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方.   本人渣渣代码: public double Power(double ba ...

  6. 剑指offer——python【第31题】整数1出现的次数

    题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...

  7. 【剑指offer】面试题 16. 数值的整数次方

    面试题 16. 数值的整数次方 题目描述 题目:给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 解答过程 下面的讨论中 x 代表 bas ...

  8. 剑指Offer(书):数值的整数次方

    题目:给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 分析: * 要注意以下几点:* 1.幂为负数时,base不能为0,不然求的时候是对 ...

  9. 【校招面试 之 剑指offer】第16题 数值的整数次方

    方法1:直接求解,但是要注意特殊情况的处理:即当指数为负,且底数为0的情况. #include<iostream> using namespace std; template<typ ...

随机推荐

  1. LeetCode题解: LRU Cache 缓存设计

    LeetCode题解: LRU Cache 缓存设计 2014年12月10日 08:54:16 邴越 阅读数 1101更多 分类专栏: LeetCode   版权声明:本文为博主原创文章,遵循CC 4 ...

  2. python网络爬虫(6)爬取数据静态

    爬取静态数据并存储json import requests import chardet from bs4 import BeautifulSoup import json user_agent='M ...

  3. Eclipse使用github并开启命令行

    1. 安装EGit插件 2. 导入git项目 选择Import: 选择“Clone URI” 输入想要导入的git项目地址和用户名密码: 选择代码分支: 一路点击next完成导入github项目即可. ...

  4. CentOS7部署HDP3.1.0.0

    Apache Ambari是一个基于Web的支持Apache Hadoop集群的供应.管理和监控的开源工具,Ambari已支持大多数Hadoop组件,包括HDFS.MapReduce.Hive.Pig ...

  5. openlayers之全屏控件的使用

    import { FullScreen } from 'ol/control' map.addControl(new FullScreen())

  6. VS2017 VS2019 无法进入安装界面闪退问题(windows7SP1)

    如果离线安装 Visual Studio 2017/2019出现“即将完成…一切即将准备就绪.”的画面后,等几秒安装程序没有任何错误提示就关闭了,无法继续安装. 解决方法: 将vs_enterpris ...

  7. Linux下make cmake 编译等啥意思?

    写程序大体步骤为: 1.用编辑器编写源代码,如.c文件. 2.用编译器编译代码生成目标文件,如.o. 3.用链接器连接目标代码生成可执行文件,如.exe. 但如果源文件太多,一个一个编译时就会特别麻烦 ...

  8. TableView 键盘弹起冲突

    1.TableView 上cell 带有 TextField,如果 是Plain 形式的TableView ,并且设置SectionHeader的 取消粘滞效果 会导致键盘弹起,页面不能正常 上移 问 ...

  9. 通用mapper将另外一个同名的表生成在同一个实体及mapper中

    今天遇见了一个在网上都搜索不到的错误,使用通过mapper生成实体及mapper文件时会将另外一个数据库的同名文件生成在一个实体及mapper中,这样就会造成一个实体和mapper中有两个表的字段,经 ...

  10. 17、Nginx HTTPS 实践

    1.HTTPS安全证书基本概述 为什么需要使用HTTPS, 因为HTTP不安全.当我们使用http网站时,会遭到劫持和篡改,如果采用https协议,那么数据在传输过程中是加密的,所以黑客无法窃取或者篡 ...