您的位置:首页 > 其它

atoi() itoa() 的实现

2010-04-13 12:09 435 查看
觉得代码水平是相当的差…………写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 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: