Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22293
  • 博文数量: 69
  • 博客积分: 1545
  • 博客等级: 上尉
  • 技术积分: 735
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-03 14:17
个人简介

fdsfdsfdsfds

文章分类

全部博文(69)

文章存档

2014年(8)

2012年(61)

我的朋友

分类: C/C++

2012-04-30 01:02:04

2011-4-27 07:06
int a[3] , i;
char c;
for (i=0;i<3;i++)
{
  c = getchar();
  a[i] = c - '0';
}
如果是数字转换成字符串:
int my_atoi(const char *str){
  int result = 0;
  int signal = 1; /* 默认为正数 */
  if((*str>='0'&&*str<='9')||*str=='-'||*str=='+'){
  if(*str=='-'||*str=='+'){
  if(*str=='-')
  signal = -1; /* 输入负数 */
  str++;
  }
  }
  else return 0;
  /* 开始转换 */
  while(*str>='0'&&*str<='9')
  result = result*10+(*str++ -'0');
  return signal*result;
  }
非常感谢,请问有没有别的更为简单的实现?比如什么库函数?
可以给个具体的实现的例子吗?
比如从213
转为a[0]=2,a[1]=1,a[2]=3
如果是数字转换成字符串,有库函数atoi..但实现不了你说的这个功能..
如果一定要你说的这样..还是要自己写代码..
自己写蛮好的..
如果你是要把输入的数字转换成数组.

int a[3] , i;
char c;
for (i=0;i<3;i++)
{
  c = getchar();
  a[i] = c - '0';
}
就可以了..
如果是要从一个整数转换数组..
那就这样:
int num = 213 , i;
int t = num;
for (i = 2; i >= 0; i--)
{
  a[i] = t%10;
  t = t/10;
}
阅读(268) | 评论(0) | 转发(0) |
0

上一篇:hdu 105 解决runtime错误的办法

下一篇:没有了

给主人留下些什么吧!~~