atoi() itoa() 的实现

觉得代码水平是相当的差…………写2个十分十分十分简单的先练一下……高手见笑……

/**********atoi********/
  1 #include <stdio.h>
  2 #include <string.h>
  3 #include <math.h>
  4
  5 int main(int argc , char **argv)
  6 {
  7     int i,length,sum=0;
  8     char buffer[256];
  9
 10     printf("please input your string num!(less than 256 bytes)/n");
 11     scanf("%s",buffer);
 12
 13     length = strlen(buffer);
 14
 15     for(i=0;i<length;i++)
 16     {
 17         if(buffer[i]<48 || buffer[i]>57)
 18         {
 19                 printf("error/n");
 20                 return -1;
 21         }
 22         sum += (buffer[i]-48)  * pow(10,length-i-1);
 23     }
 24
 25     printf("the int num is %d sizeof num is %d/n",sum,sizeof(sum));
 26
 27     return 0;
 28 }

 

 

 

/****************  itoa **********/
  1 #include <stdio.h>
  2 #include <string.h>
  3
  4 int resrv(char *buffer)
  5 {
  6     char tmp;
  7     int length , i;
  8     length = strlen(buffer);
  9     for(i=0;i<length/2;i++)
 10     {
 11         tmp = buffer[i];
 12         buffer[i] = buffer[length-i-1];
 13         buffer[length-i-1]=tmp;
 14     }
 15 }
 16
 17 int main(int argc , char **argv)
 18 {
 19     int num,newnum,i=0;
 20     char buffer[256];
 21
 22     printf("please input a num , less than 32767/n");
 23
 24     scanf("%d",&num);
 25
 26     while(num)
 27     {
 28         newnum = num % 10 ;
 29         buffer[i] = (char) newnum+48;
 30         if(buffer[i]<48 || buffer[i]>57)
 31         {
 32             printf("your input num error/n");
 33             return -1;
 34         }
 35         num = num / 10;
 36         i++;
 37     }
 38
 39     resrv(buffer);
 40
 41     printf("the string num is %s/n",buffer);
 42 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值