题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。

题目比较简单,但是涉及到许多问题,例如非法输入,有正负号,是否为空字符串,且不是输入大数类型,可以用long long,8字节整型等等。主要:int a=a*10+(str[i]-'0')

也可以直接使用c的库函数,atoi函数,如果不能转换则返回0.使用例子如下

string a="-1232 pighehe";

int num=atoi(a);

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 enum flag{
 5     valid=0,
 6     invalid=1
 7 };
 8 int judge=valid;
 9
10
11 long long paraInt(string str)
12 {
13     judge=valid;
14     bool Fuflag=false;
15     long long num=0;
16     int i=0;
17     if(str.size()==0)
18     {
19         judge=invalid;
20         return invalid;
21     }
22     if (str[0]=='-')
23     {
24         i=1;
25         Fuflag=true;
26         if(str.size()==1)
27         {
28             judge=invalid;
29             return invalid;
30         }
31     }
32
33     for (i;i<str.size();++i)
34     {
35         int temp=str[i]-'0';
36         if(temp>=0&&temp<=9)
37             num=num*10+temp;
38         else{
39             judge=invalid;
40             return invalid;
41         }
42     }
43     if(Fuflag)
44         a=-a;
45     return num;
46 }
47 int main()
48 {
49     string str;
50     while(cin>>str)
51     {
52         long long num=paraInt(str);
53         if(!judge)
54             cout<<num<<endl;
55         else
56         {
57             cout<<"invalid input"<<endl;
58         }
59         str.clear();
60     }
61     return 0;
62 }


题目:输入一个整数,把该整数转换成字符串并输出。例如输入整数345,则输出整数"345"。

类似的也有函数itoa,使用例子如下:

int num=12345;
char str[10];
itoa(num,str,10); //将num转换为字符串保存到str中

不使用itoa函数:将整数的每位转换为字符,然后再逆序保存。例如:

//整形转成字符串函数实现
//题目不难,重点考察面试者对问题考虑的全面程度
#include <iostream>
using namespace std;
void itoa_mf(int num,char str[])
{  int sign = num;  int i = 0;  int j = 0;  char temp[100];  //如果是负数就去掉符号,将-1234转成1234  if(sign < 0)  {  num = -num;  }  //转成字符串,1234转成"4321"  do  {  temp[i] = num % 10 + '0';  num /= 10;  i++;  }while(num > 0);  //如果是负数的话,加个符号在末尾,如:"4321-"  if(sign < 0)  {  temp[i++] = '-';  }  temp[i] = '\0';  i--;  //将temp数组中逆序输入到str数组中  //将"4321-" ====> "-1234"  while(i >= 0)  {  str[j] = temp[i];  j++;  i--;  }  //字符串结束标识  str[j] = '\0';
}  //测试用例
void main()
{  int a = 0;  char s[100];  itoa_mf(a,s);  cout << s << endl;  }  

转载于:https://www.cnblogs.com/fightformylife/p/4016218.html

整数转字符串,字符串转整数相关推荐

  1. oracle 转化为整数,字符串转换成整数——从源码学习

    字符串转换成整数:输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345. 在笔试面试中,atoi 即「字符串转换成整数」是一个经典问题了 ...

  2. 剑指offer:把字符串转换成整数

    题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一 ...

  3. 字符串分隔 -连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。...

    •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输 ...

  4. 程序员面试题100题第17题——字符串转化为整数

    题目:把输入的字符串转化为整数,如:"-456" 输出456."+456"输出456,"456"输出"456",如果是非 ...

  5. 【LeetCode 剑指offer刷题】字符串题6:67 把字符串转成整数

    [LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 67 把字符串转成整数 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符 ...

  6. 把字符串里的整数倒叙一个一个打印出来

    把字符串里的整数倒叙一个一个打印出来 int count = 0; void myRevert(int n, int a[]) {if (n < 10){a[count++] = n;}else ...

  7. 将十六进制的字符串转换成整数

    #include "stdafx.h" #include<stdio.h> #include<string.h>/*将大写字母转换成小写字母*/ int t ...

  8. php生成唯一的加密串,hashids.php-master整数生成唯一字符串的加密库

    hashids.php-master整数生成唯一字符串的加密库 namespace Hashids; class Hashids implements HashidsInterface { const ...

  9. 整数转化成字符串; 字符串转换为整数

    整数转化成字符串: 字符串转换为整数 /*整数转化成字符串*/ char *IntToStr(int num, char str[]) {int i = 0, j = 0;char temp[100] ...

  10. python 字符串转换成整数

    | String to Int 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个 ...

最新文章

  1. IBM一分为二,将剥离IT基础设施部门,未来专注云计算和AI
  2. 5、mybatis主配置文件之environments
  3. docker create_Docker动手教程2.2:容器基本操作2
  4. 多少秒算长镜头_自从搞烘焙后,遇到烘焙模具换算,秒变数学渣...
  5. 中国电子计算机大学竞赛安徽分赛,我院学子喜获第十二届全国大学生数学竞赛安徽赛区15项一等奖...
  6. 分词相关技术(转载)
  7. 我的考研~~~3-4月份总结
  8. 图解 Paxos 算法
  9. Scala语言的特点
  10. Centos7开地狱已满服之插件安装
  11. 读《程序员修炼之道-从小工到专家》有感
  12. iTunes Connect居然支持中文了!
  13. Linux 性能调试(1): perf 使用技巧 (翻译)
  14. 大学计算机信息知识题库,大学生计算机基础知识选择题库
  15. 黑苹果cpu支持列表_单卡gpu直通,黑苹果,amd_cpu教程
  16. 升级Unity2017.4到2018.3
  17. 谷歌浏览器如何打开标签时不覆盖原标签
  18. ACDC:开箱即用的多租户数据集成平台
  19. 软件体系结构4+1模型
  20. Python入门程序【九】

热门文章

  1. asp.net支持多文件上传的服务器控件
  2. Logic Pro X for Mac - 音乐制作软件
  3. 程序猿的键盘侠养成:macOS 常用快捷键分享
  4. 用js判断空对象的几种方法
  5. Android Studio如何打jar包
  6. 学习MongoDB 六: MongoDB查询(游标操作、游标信息)(三)
  7. SylixOS中netdev_pbuf_alloc函数分析
  8. 《Arduino实战》——2.5 小结
  9. 利用Python进行数据分析(3) 使用IPython提高开发效率
  10. jquery 插件页面回到顶部